MyBatis

1.2 了解MyBatis -《SSM深入解析与项目实战》

霸气de小男生 提交于 2020-08-17 03:48:14
文章目录 声明 1.2 了解MyBatis 1.2.1 MyBatis简介 1.2.2 Hibernate简介 1.2.3 MyBatis和Hibernate的比较 声明 专栏链接: https://chenhx.blog.csdn.net/category_10263372.html 作者:谙忆 1.2 了解MyBatis MyBatis是一个基于Java的持久层开源框架。主要是将Java中的接口方法映射到执行对应的SQL语句,POJOs(Plain Old Java Objects,普通Java对象)映射成数据库中的记录。对于持久层,你可以简单地理解为将对象永久保存到数据库中,当然也可以理解为对于和数据库相关的所有操作。 1.2.1 MyBatis简介 MyBatis原名为iBatis,在2010年由Apache Software Foundation迁移到Google Code,并更名为MyBat 来源: oschina 链接: https://my.oschina.net/u/4308764/blog/4473541

mybatis保存的时候返回值为数据库中主键的id值

会有一股神秘感。 提交于 2020-08-17 02:37:15
select last_insert_id(); insert into t_user (id, avatar, create_time, email, nick_name, password, type, update_time, user_name, file_id, register_method, token, short_message, telephone, location, job, city, district, province, update_pw_time, salt, github_url, qq_number, wechat_number, user_log) values (#{id,jdbcType=INTEGER}, #{avatar,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{email,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{userName,jdbcType=VARCHAR}, #{fileId,jdbcType=BIGINT}, #

2020.7.3|Java进阶架构师30大专题,共600篇优质文章合集!

对着背影说爱祢 提交于 2020-08-16 17:47:51
  大家好,我是师长,今天是2020年7月3日,2020年正式过了一半,感慨的话不必多说,这两个月来,又积累了许多优质的文章,且新增了两三个全新专题,如 2020Java面试题库、JVM调优专题等, 累计达600+。预计下次更新时间是 9月1号 ( 两个月一整理 )。   本篇发表后,也会放在公众号菜单栏的【 左下角 】,大家可以 星标公众号, 经常光顾。      如果最近两个月,文章对你有帮助,那么,请给我人间三大真情: 在看 、 留言 和 转发 一条龙服务,以示鼓励。    Java进阶架构师   师长的公众号专注的是: 底层原理、架构设计、源码阅读、微服务、高并发、高可用、JVM调优、BAT面试专栏等进阶架构专栏 。毫不夸张地说,Java相关的技术栈都一网打尽!    注: 标红 的链接为本次新增更新    零、2020Java面试题库 新专题   面试题库目前暂定八个梯度迭代更新:   第一梯度:计算机组成原理、操作系统原理、网络通信原理、数据结构和算法;   第二梯度:Java SE基础、JavaWeb相关、Java 工具(Maven/git等)、JDK 工具、Java 各版本新特性、JVM 相关如内存模型和、GC 算法、JVM 性能调优、设计模式;   第三梯度:Spring、Spring MVC、Springboot、Spring Cloud、Mybatis

首发:全面到难以置信的485页Java面试题整理,1000+真题赶紧收藏

╄→尐↘猪︶ㄣ 提交于 2020-08-16 17:26:47
本文是年更文章,是专门为了金九银十而整理的一套年度级面试题;以后每年都会以这个为基础更新内容。星光不问赶路人,时光不负有心人; 愿每位程序员朋友都能找到心仪的工作。 这份面试题内容涵盖: Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。 收藏这份面试题,为你赢得更多机会。 篇幅有限,我会尽可能列出所有面试题,答案文末获取。 MyBatis 什么是MyBatis? MyBatis的优点 MyBatis框架的缺点 MyBatis框架适用场合 MyBatis与Hibernate有哪些不同? #{}和${}的区别是什么? 当实体类中的属性名和表中的字段名不一样,怎么办? 模糊查询like语句该怎么写? 通常一个Xml映射文件,都会写-个Dao接口与之对应,请问,这个Dao接口的工作原理是什么? MyBatis是如何进行分页的?分页插件的原理是什么? MyBatis:是如何将sq|执行结果封装为目标对象并返回的?都有哪些映射形式? 如何执行批量插入? 如何获取自动生成的(主)键值? 在mapper中如何传递多个参数? MyBatis动态SQL有什么用?执行原理?有哪些动态SQL? Xml映射文件中

springMVC简单程序流程分析

两盒软妹~` 提交于 2020-08-16 14:01:11
springMVC简单程序流程分析 第一部分 1.启动服务器,加载web.xml 当启动服务器的时候,就会加载web.xml文件,载入下面这段代码 < servlet > < servlet - name > dispatcherServlet < / servlet - name > < servlet - class > org . springframework . web . servlet . DispatcherServlet < / servlet - class > < init - param > < param - name > contextConfigLocation < / param - name > < param - value > classpath : applicationContext . xml < / param - value > < / init - param > < load - on - startup > 1 < / load - on - startup > < / servlet > < servlet - mapping > < servlet - name > dispatcherServlet < / servlet - name > < url - pattern > * . do < / url -

2020年的秋招已经开始了!最新Java面试题大全(文末附参考答案)送给大家

我与影子孤独终老i 提交于 2020-08-16 11:27:09
包含的模块 本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM 共包含 208 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。 一. Java 基础模块 1.JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。 2.== 和 equals 的区别是什么? == 解读: 对于基本类型和引用类型 == 的作用效果是不同的,如下所示: 基本类型:比较的是值是否相同; 引用类型:比较的是引用是否相同; 代码示例

关于mybatis拦截器,对结果集进行拦截

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-16 07:15:40
  因业务需要,需将结果集序列化为json返回,于是,网上找了好久资料 ,都是关 于拦截参数的处理,拦截Sql语法构建的处理,就是很少关于对拦截结果集的处理,于是自己简单的写了一个对结果集的处理, 记录下。 一、MyBatis的框架设计图 参考:http://blog.csdn.net/luanlouis/article/details/40422941 1.如何将结果集改成我们想要的格式呢?    1.1 由原理图我们可知,ResultSetHandler负责将resultSet转换为list,那么我们能不能在转换的时候加上自己的逻辑,我想应该是可以的,但是因为源码看不太懂,想想还是算了。 1 public List<Object> handleResultSets(Statement stmt) throws SQLException { 2 final List<Object> multipleResults = new ArrayList<Object> (); 3 4 int resultSetCount = 0 ; 5 ResultSetWrapper rsw = getFirstResultSet(stmt); 6 7 List<ResultMap> resultMaps = mappedStatement.getResultMaps(); 8 int

电商门户网站商品品类多级联动SpringBoot+Thymeleaf实现

ぃ、小莉子 提交于 2020-08-16 06:13:00
在淘宝、京东等电商网站,其门户网站都有一个商品品类的多级联动,鼠标移动,就显示,因为前端不是我做的,所以不说明前端实现,只介绍后端实现。 搭建部署SpringBoot环境 配置文件配置: 开启了对Thymeleaf模块引擎的支持 server: port: 8081 #logging: # config: classpath:logback_spring.xml # level: # com.muses.taoshop: debug # path: /data/logs spring: datasource: # 主数据源 shop: url: jdbc:mysql://127.0.0.1:3306/taoshop?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false username: root password: root driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # 连接池设置 druid: initial-size: 5 min-idle: 5 max-active: 20 # 配置获取连接等待超时的时间

关于mybatis拦截器,对结果集进行拦截

天涯浪子 提交于 2020-08-16 04:43:13
  因业务需要,需将结果集序列化为json返回,于是,网上找了好久资料 ,都是关 于拦截参数的处理,拦截Sql语法构建的处理,就是很少关于对拦截结果集的处理,于是自己简单的写了一个对结果集的处理, 记录下。 一、MyBatis的框架设计图 参考:http://blog.csdn.net/luanlouis/article/details/40422941 1.如何将结果集改成我们想要的格式呢?    1.1 由原理图我们可知,ResultSetHandler负责将resultSet转换为list,那么我们能不能在转换的时候加上自己的逻辑,我想应该是可以的,但是因为源码看不太懂,想想还是算了。 1 public List<Object> handleResultSets(Statement stmt) throws SQLException { 2 final List<Object> multipleResults = new ArrayList<Object> (); 3 4 int resultSetCount = 0 ; 5 ResultSetWrapper rsw = getFirstResultSet(stmt); 6 7 List<ResultMap> resultMaps = mappedStatement.getResultMaps(); 8 int

springboot sessionFactory 方式 配置 mybaits 扫描多个 mapper xml

自闭症网瘾萝莉.ら 提交于 2020-08-16 04:03:27
static final String MAPPER_LOCATION1 = "classpath:mybatis/dsno1/*/*.xml"; //扫描 目录1 static final String MAPPER_LOCATION2 = "classpath:mybatis/dsno2/*/*.xml"; //扫描 目录2 @Bean(name = "masterSqlSessionFactory") @Primary //www.1b23.com public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)throws Exception { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(masterDataSource); sessionFactory.setMapperLocations(resolveMapperLocations()); sessionFactory.setConfigLocation(new DefaultResourceLoader()