![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
`阿杰`
这个作者很懒,什么都没留下…
展开
-
Mybatis-缓存-二级缓存
二级缓存 二级缓存比一级缓存作用域更广,作用于全局,而不局限于一次会话 注意点:二级缓存要在一级缓存失效后才会生效, 要开启二级缓存只需要 SQL 映射文件中添加一行: <cache/> 测试 这里创建了两个sqlsession会话,然后第一个会话在查询一次过后结束,然后第二个会话进行查询,同时对两次查询结果进行比较 @Test public void getUserByID2(){ SqlSession sqlSession = MybatisUtils.getSql原创 2021-03-03 10:56:13 · 78 阅读 · 0 评论 -
Mybatis-缓存-一级缓存
一级缓存 一级缓存默认开启 为SqlSession 查询之后有缓存,二次查询直接调用缓存 例如如下这个测试程序 @Test public void getUserByID(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User userByID = mapper.g原创 2021-03-03 10:55:59 · 79 阅读 · 0 评论 -
Mybatis-动态SQL-foreach语句
用法:对集合进行遍历 官方文档:foreach 元素的功能非常强大,它允许你指定一个集合,声明可以在元素体内使用的集合项(item)和索引(index)变量。它也允许你指定开头与结尾的字符串以及集合项迭代之间的分隔符。这个元素也不会错误地添加多余的分隔符 提示 你可以将任何可迭代对象(如 List、Set 等)、Map 对象或者数组对象作为集合参数传递给 foreach。当使用可迭代对象或者数组时,index 是当前迭代的序号,item 的值是本次迭代获取到的元素。当使用 Map 对象(或者 Map.Ent原创 2021-03-03 10:55:37 · 133 阅读 · 0 评论 -
Mybatis-动态SQL-Set语句
好处:不要担心逗号 <!-- 注意点:拼接的sql后面要加“,”号,一定要加,不能忘记,还有不用加“and”语句进行拼接--> <update id="updateBlogSet" parameterType="map"> update mybatis.blog <set> <if test="title !=null"> title =#{title},原创 2021-03-03 10:55:10 · 396 阅读 · 0 评论 -
Mybatis-动态SQL-choose语句
使用场景:多个条件中选择一个使用 如下列语句 类比我们学过的switch语句,只能选择一个 当title的值不为空时,就执行"select * from mybatis.blog where title=‘title’;“这个语句 当title和author都不为空时,执行第一个条件,即"select * from mybatis.blog where title=‘title’;” 当title和author为空时,一定要传**《otherwise》**这个标签的值,不然会报错 <!-- **原创 2021-03-03 10:54:47 · 245 阅读 · 0 评论 -
Mybatis-动态SQL-IF语句
if语句提供了可选的查找文本功能 如下列语句 如果传的title值和author值为空,就自动执行"select * from mybatis.blog" 这个语句 如果title不为空,而author为空,就自动执行"select * from mybatis.blog where title=‘title’;"这个语句 如果传的title值和author值都不为空就自动执行"select * from mybatis.blog where title=‘title’ and autho=‘auhtor’原创 2021-03-02 19:58:07 · 91 阅读 · 0 评论 -
Mybatis配置-驼峰命名
解决数据库字段与实体类属性名不一致的问题 如 A_COLUMN —> aColumn <!-- 驼峰命名自动映射,value="true" true为开启 --> <setting name="mapUnderscoreToCamelCase" value="true"/>原创 2021-03-02 13:24:46 · 963 阅读 · 0 评论 -
Mybatis配置-类型别名(typeAliases)
两种方式 方式一:使用注解@Alias(“别名”) 可通过在实体类上添加注解@Alias("")来修改别名 <typeAliases> <package name="com.pojo"/> </typeAliases> 方式二,这里设置的实体类的别名 <typeAliases> <typeAlias alias="user" type="com.pojo.User"/> </typeAlias原创 2021-03-02 13:21:41 · 366 阅读 · 0 评论 -
Mybatis配置-日志工厂
日志工厂 这里提供两种实现方式 方式1,标准的 <settings> <!-- 要注意规范不能有空格之类的,变量名按官网来 --> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> 效果如下: 方式二:使用log4j,不过这个要一个配置文件 log4j.properties #将等级为DEBUG的日志信息输出到console和file这两个目原创 2021-03-02 13:18:15 · 102 阅读 · 0 评论 -
Mybatis配置-属性(properties)
将数据源用外部文件引用 dp.properties(外部配置,可以动态切换) driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306?serverTimeZone=GMT%2B8/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8 username=root password=qwe123456 然后在mybatis-config.xml引用 <!原创 2021-03-02 13:15:33 · 102 阅读 · 0 评论 -
Mybatis配置-结果集映射-2(一对多)
一对多 一个老师对应多个学生 图示 包结构 1;建数据库 学生: CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher`原创 2021-03-02 13:12:27 · 93 阅读 · 0 评论 -
Mybatis配置-结果集映射-2(多对一)
多对一 多个学生对应一个老师 图示 包结构 1;建数据库 学生: CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher`原创 2021-03-02 12:54:33 · 128 阅读 · 1 评论 -
idea创建一个mybatis项目
创建一个mybatis项目 1:依赖 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </d原创 2021-03-02 00:07:00 · 930 阅读 · 2 评论