MyBatis
花花的狗子
初步涉及JAVA,并开始深入学习
展开
-
02-Mybatis-08-查询缓存-一级和二级缓存
查询缓存的作用:主要是为了提高查询访问速度。将用户对用一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。MyBatis的查询缓存机制,根据缓冲区的作用域与生命周期,可划分为两种:一级缓存与二级缓存。MyBatis查询缓存的作用域是根据映射文件mapper的namespace划分的,相同namespace的mapper查询数据存放在同一个缓存区域。不同names...原创 2019-12-17 13:58:08 · 82 阅读 · 0 评论 -
02-Mybatis-07-延迟加载
对于主查询(主表)是直接加载,对于关联查询(关联表)可以设置延迟!关联对象加载时机MyBatis 根据对关联对象查询的select语句的执行时机,分为三种类型:直接加载、侵入式延迟加载与深度延迟加载。直接加载:执行完对主加载对象的select语句,马上执行对关联对象的select查询。侵入式延迟:执行对主加载对象的查询时,不会执行对关联对象的查询。但当要访问主加载对象的详情时,就会马上执...原创 2019-12-09 21:28:11 · 89 阅读 · 0 评论 -
02-Mybatis-06-关联关系查询
一对多以一个Country包好多个Minister为例多表连接查询 private Integer cid; private String cname; // 关联属性 private Set<Minister> ministers;<resultMap type="Country" id="countryMapper"> <id column="c...原创 2019-12-09 20:06:18 · 82 阅读 · 0 评论 -
02-Mybatis-05-动态SQL语句
1. 使用if标签——对动态sql语句进行拼接<select id="selectStudentByCondition" resultType="Student"> select id,name,age,score from student where 1 = 1 <if test="name != null and name != ''"> ...原创 2019-12-05 22:52:01 · 98 阅读 · 0 评论 -
02-Mybatis-04-多查询条件
1. 使用Map @Test public void testSelectStudentByName() { Student stu = new Student("田七",29,94); Map<String, Object> map = new HashMap<String, Object>(); map.put("nameCon", "张"); ...原创 2019-12-05 15:43:54 · 106 阅读 · 0 评论 -
02-Mybatis-03-Mapper动态代理
1. 更改映射的命名空间<mapper namespace="com.huahua.dao.IStudentDao">两点要求:1.1 首先,保证映射文件中的namespace和接口的限定名称(com.huahua.dao.IStudentDao)相同;1.2 其次,保证映射文件sql语句对应的id和接口中的方法名相同。2. 通过getMapper()获取配置接口 p...原创 2019-12-04 20:39:20 · 101 阅读 · 0 评论 -
02-Mybatis-02-关于字段名与属性名不一致的问题
1. 通过别名解决不一致的问题select tid id,tname name,tage age,score from student2. 使用结果映射解决不一致的问题<resultMap type="Student" id="studentMapper"> <id column="tid" property="id"/> <result column="...原创 2019-12-04 19:34:39 · 82 阅读 · 0 评论 -
02-Mybatis-01-第一个项目
源码分析1、输入流关闭SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);往下跟public SqlSessionFactory build(InputStream inputStream){ return build(inputStream, null, nu...原创 2019-12-01 20:13:35 · 106 阅读 · 0 评论