随笔分类 -  MyBatis

摘要:Mybatis自定义缓存 EhCache EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存 Ehcache缓存的使用 - 第一步 添加依赖 Ehca 阅读全文
posted @ 2021-05-08 18:04 失昼 阅读(158) 评论(0) 推荐(0)
摘要:Mybatis二级缓存 * 默认情况下只启用了本地会话缓存 即: 一级缓存, 它仅仅对一个会话中的数据进行缓存。 * 全局缓存(二级缓存)是基于namespace的缓存,一个namespace对应着一个Mapper接口。不同的SqlSession对象可以读取同一个mapper的缓存数据。 * 但是所 阅读全文
posted @ 2021-05-08 17:36 失昼 阅读(72) 评论(0) 推荐(0)
摘要:Mybatis一级缓存 * 一级缓存也叫本地缓存(SqlSession级别的缓存,从SqlSession开启到SqlSession结束中间的数据会被缓存起来) - 与数据库同一次会话期间查询到的数据会放在本地缓存中,以后如果需要相同的数据直接在缓存中查询,不必再去数据库中查询。 * 一级缓存是默认开 阅读全文
posted @ 2021-05-08 16:52 失昼 阅读(53) 评论(0) 推荐(0)
摘要:Mybatis缓存简介 * 什么是缓存【Cache】? - 存储在内存中的临时数据,断电即失。 - 将用户查询的数据放在缓存(内存)中,用户查询数据的时候就不用再磁盘上查询,而是在缓存中查询,这样可以大大提到查询效率。解决了高并发系统的性能问题。 * 为什么要使用缓存【Cache】? - 减少与数据 阅读全文
posted @ 2021-05-08 16:15 失昼 阅读(63) 评论(0) 推荐(0)
摘要:动态SQL * 什么是动态SQL? - 动态SQL就是指根据不同的条件,生成不同的SQL语句 - 动态SQL就是在拼接sql语句,将sql语句的拼接规范化,这样更不容易出错。 * 动态sql之 <where> </where>标签 - 使用 <where>标签,Mybatis会识别到,如果传入参数的 阅读全文
posted @ 2021-05-08 15:17 失昼 阅读(61) 评论(0) 推荐(0)
摘要:结果集映射 resultMap 复杂类型使用(一对多的处理) - association 关联 [多对一] 多个学生对应一个老师 - connection 集合 [一对多] 一个老师对应多个学生 - javaType 和 ofType javaType 用来指定实体类中的某个属性的类型 ofType 阅读全文
posted @ 2021-05-08 12:10 失昼 阅读(188) 评论(0) 推荐(0)
摘要:结果集映射 resultMap 复杂类型使用 resultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致。 如果在Sql语句中,所查询的字段名和实体类中的属性名不一致,那么在查询过程中,Mybatis就会在实体类中找不到该字段所对应的属性名,那么查 阅读全文
posted @ 2021-05-08 10:19 失昼 阅读(339) 评论(0) 推荐(0)
摘要:LomBok使用 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。 lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。 简单来说,比如 阅读全文
posted @ 2021-05-03 13:48 失昼 阅读(90) 评论(0) 推荐(1)
摘要:使用注解开发 Mybatis中注解的使用 - 第一步在接口上写该接口所需要的sql语句 @Select("select * from t_userInfo") List<User> getUserList(); - 在Mybatis核心配置文件中,通过Mapper标签指定该接口的位置 <!--绑定接 阅读全文
posted @ 2021-05-03 13:13 失昼 阅读(60) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2334081/202105/2334081-20210503124442075-582802543.jpg) 阅读全文
posted @ 2021-05-03 12:45 失昼 阅读(34) 评论(0) 推荐(0)
摘要:Mybatis分页 * SQL中的分页查询 select * from t_user limit StartIndex PageSize - SELECT * FROM T_USERINFO LIMIT 0, 7 从下标为0的数据开始,查7条数据。 - SELECT * FROM T_USERINF 阅读全文
posted @ 2021-05-02 16:53 失昼 阅读(64) 评论(0) 推荐(0)
摘要:Mybatis日志工厂 * Mybatis中的日志设置 * Mybatis日志实现方式主要有七种: SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING - 第一种方式: STDOUT 阅读全文
posted @ 2021-05-02 15:59 失昼 阅读(61) 评论(0) 推荐(0)
摘要:解决实例对象属性名和字段名不一致的问题(ResultMap初步使用) 如果在Sql语句中,所查询的字段名和实体类中的属性名不一致,那么在查询过程中,Mybatis就会在实体类中找不到该字段所对应的属性名,那么查出来的数据就会为NULL。 第一种解决办法, 给字段名设置别名,从而使某个字段名和实体类中 阅读全文
posted @ 2021-05-02 14:34 失昼 阅读(181) 评论(0) 推荐(0)
摘要:Mybatis核心配置文件属性优化 * 环境配置(environments),MyBatis 可以配置成适应多套环境,通过default属性等于某套环境的ID,代表选择该套进行使用, default="development"。 - 在每一套环境中可以配置: - 可以定义环境的ID(比如:id="d 阅读全文
posted @ 2021-05-02 13:46 失昼 阅读(66) 评论(0) 推荐(0)
摘要:Mybatis核心对象的生命周期 SqlSessionFactoryBuilder - 该类可以被实例化,使用和丢弃,一旦创建了SqlSessionFactory对象,那么就不再需要SqlSessionFactoryBuilder了 SqlSessionFactory - 该类一旦被实例化,就应该在 阅读全文
posted @ 2021-04-28 21:56 失昼 阅读(92) 评论(0) 推荐(0)
摘要:将查询结果封装到Map集合中 * 什么时候使用Map来封装查询结果呢? - javabean不够用的时候,需要跨表的时候。 * resultType可以使用 :简单类型,javabean,Map * 使用resultType为Map的时候,会自动将查询结果的列名,作为查询结果的key * 代码: 将 阅读全文
posted @ 2021-04-28 20:55 失昼 阅读(1321) 评论(0) 推荐(0)
摘要:使用MyBatis执行增删改查之后打印SQL语句 * 可以借助一个第三方的开源组件 log4j 。 * logger for java : 为java语言准备的日志工具,专门负责记录日志,很多开源框架都使用了该组件。 * log4j配置方法 - 第一步 在pom.xml文件中引入log4j依赖 <d 阅读全文
posted @ 2021-04-28 18:47 失昼 阅读(996) 评论(0) 推荐(0)
摘要:使用Map给Mybatis传值 什么时候使用parameterType="java.util.Map" 进行传值? javabean不够用的情况下,我们可以使用map传值。 一般情况下都是一个表对应一个javabean,两张表两个javabean。 但是有这样一种情况,一些值是A表中的,另一些值是B 阅读全文
posted @ 2021-04-28 14:57 失昼 阅读(262) 评论(0) 推荐(0)
摘要:Mybatis的别名机制 Mybatis的别名机制 - 第一种方式 : 在Mybatis-config.xml 核心配置文件中写以下代码,就是给一个类名起别名的意思,这样以后再resultType属性中就可以直接写别名了,不用再写全类名了。 <typeAliases> <typeAlias type 阅读全文
posted @ 2021-04-25 18:42 失昼 阅读(333) 评论(0) 推荐(0)
摘要:Mybatis_crud * 一般情况下连接数据库的信息最好单独写在配置文件中,这样用户修改起来方便。 - 在类路径下新建一个 jdbc.properties文件,配置连接数据库所需信息 jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql 阅读全文
posted @ 2021-04-25 13:51 失昼 阅读(65) 评论(0) 推荐(0)