Mybatis
`阿杰`
这个作者很懒,什么都没留下…
展开
-
Mybatis-缓存-二级缓存
二级缓存二级缓存比一级缓存作用域更广,作用于全局,而不局限于一次会话注意点:二级缓存要在一级缓存失效后才会生效,要开启二级缓存只需要 SQL 映射文件中添加一行:<cache/>测试这里创建了两个sqlsession会话,然后第一个会话在查询一次过后结束,然后第二个会话进行查询,同时对两次查询结果进行比较@Test public void getUserByID2(){ SqlSession sqlSession = MybatisUtils.getSql原创 2021-03-03 10:56:13 · 102 阅读 · 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 · 90 阅读 · 0 评论 -
Mybatis-动态SQL-foreach语句
用法:对集合进行遍历官方文档:foreach 元素的功能非常强大,它允许你指定一个集合,声明可以在元素体内使用的集合项(item)和索引(index)变量。它也允许你指定开头与结尾的字符串以及集合项迭代之间的分隔符。这个元素也不会错误地添加多余的分隔符提示 你可以将任何可迭代对象(如 List、Set 等)、Map 对象或者数组对象作为集合参数传递给 foreach。当使用可迭代对象或者数组时,index 是当前迭代的序号,item 的值是本次迭代获取到的元素。当使用 Map 对象(或者 Map.Ent原创 2021-03-03 10:55:37 · 146 阅读 · 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 · 426 阅读 · 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 · 257 阅读 · 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 · 120 阅读 · 0 评论 -
Mybatis配置-驼峰命名
解决数据库字段与实体类属性名不一致的问题如 A_COLUMN —> aColumn <!-- 驼峰命名自动映射,value="true" true为开启 --> <setting name="mapUnderscoreToCamelCase" value="true"/>原创 2021-03-02 13:24:46 · 976 阅读 · 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 · 375 阅读 · 0 评论 -
Mybatis配置-日志工厂
日志工厂这里提供两种实现方式方式1,标准的 <settings> <!-- 要注意规范不能有空格之类的,变量名按官网来 --> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings>效果如下:方式二:使用log4j,不过这个要一个配置文件log4j.properties#将等级为DEBUG的日志信息输出到console和file这两个目原创 2021-03-02 13:18:15 · 136 阅读 · 0 评论 -
Mybatis配置-属性(properties)
将数据源用外部文件引用dp.properties(外部配置,可以动态切换)driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306?serverTimeZone=GMT%2B8/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8username=rootpassword=qwe123456然后在mybatis-config.xml引用 <!原创 2021-03-02 13:15:33 · 113 阅读 · 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 · 100 阅读 · 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 · 160 阅读 · 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 · 963 阅读 · 2 评论