- 博客(6)
- 收藏
- 关注
原创 MyBatis一级缓存、二级缓存、禁用清理二级缓存的使用
一级缓存作用范围在同一个SqlSession对象中,Mybatis自动打开了一级缓存,缓存保存在内存中,当进行一次sql查询时,Mybatis会将查询结果放入一级缓存中,如果需要再进行一个同样的查询,Mybatis则会直接从缓存中获取上次查询的结果,从而减少数据库的访问,从而增加性能。这就导致了如果在第二次查询之前,进行了增删改操作,那么第二次查询的结果则是不准确的,所以需要我们在每次增删改之后使用一次sqlsession.commit()方法,该方法会将一级缓存清空,保证第二次查询的结果准确。二级缓存
2020-07-24 19:28:55
1143
1
原创 MyBatis中一对一、一对多关联查询、association、collection的使用、延迟加载的使用
一对一所有方法均要符合一个原则,返回的类中要直接或者间接包含所有查询的字段1:业务扩展类核心:使用resultType所指定的返回类中要包含多表查询的所有字段。例如,在数据库中存在两张表,学生表和班级表,学生表中有班级表的外键classId,当我们进行两表联合查询的时候,既要有学生表的信息,又要班级表的信息,而resultType只能填入一个类,这时候就需要重新创建一个类,包含两个类的所有数据类型即可,可行的一个办法是,新建的类先继承两者其中一个类,然后再将另一个类的内容粘贴过来,再重写一次toSt
2020-07-24 19:25:43
214
原创 Mybatis中动态sql、if、where、foreach、sql的使用
if标签通过if标签,可以判断字段是否为空。 <select id="queryPersonWithTag" resultType="Person" parameterType="Person"> select * from person where <if test="id!=null and id != ''"> id = #{id} </if> <if test="age!=null and age != ''"
2020-07-24 19:20:17
413
原创 MyBatis中HashMap的使用
HashMap的使用返回的数据类型是HashMap在查询的字段后添加 “key” 作为map的key值即可。 <select id="queryPersonOutByHashMap" resultType="HashMap"> select id "id",name "name" from person </select>若返回的是集合(即有多个Map),则需要使用List将Map嵌套。List<HashMap<String,Object>
2020-07-24 19:16:25
2533
原创 MyBatis属性文件、别名、类型转换器、resultMap、全局参数
属性文件创建db.properties文件并填入连接数据的键值对driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/temp?useSSL=falseusername=rootpassword=000000修改conf.xml配置内容新建properties标签来绑定文件在configuration标签下新建一个properties标签,并在resource中填入properties文件<properties re
2020-07-24 19:08:01
238
原创 MyBatis配置、基础用法、动态代理用法CURD
创建一个mapper.xml文件其中mapper标签的 namespace 内填入映射文件的全类名(既本文件路径 包名+文件名)sql标签中,id是此查询语句的标识,resultType是返回的数据类型,paramenterType是传入的数据类型 需要注意的是,如果如果传入的是实体类,则需要填入此实体类的包名+类名,并且,Mybatis只支持传入一个参数。sql语句内容在Mybatis中的slq语句不需分号,且待输入的内容用 #{ } 或 ${value} 来替代。#{ } 中的{ }可以输入任
2020-07-24 19:00:59
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人