mybatis
文章平均质量分 71
一个双子座的Java攻城狮
博客中涉及有Java、Spring、数据库、微服务等,热爱技术,乐于分享,一起成长,遇见未知的自己
展开
-
Mybatis-Plus使用指南
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://mybatis.plus/ 或 https://mp.baomidou.com/文档地址:https://mybatis.plus/guide/源码地址:https://github.com/baomidou/mybatis-plusMybatis-Plus是由baomidou(苞米豆)组织开发并且开源的,目前该组织大概有30人左右。码云地原创 2023-01-29 21:16:57 · 1211 阅读 · 0 评论 -
MybatisX快速开发插件
MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入mybatisx 搜索并安装。原创 2023-01-29 16:22:19 · 465 阅读 · 0 评论 -
MyBatis一级缓存和二级缓存
只读的缓存会给所有调用者返回缓存对象的相同实例, 因此这些对象不能被修改,这就提供了可观的性能提升。首先这段代码是在一个 SqlSession 下,因此默认开启了一级缓存,在结果中可以看到,第一次查询走的是数据库,第二次就不需要再查数据库了。二级缓存是跨 sqlSession,是 mapper 级别的缓存,对于 mapper 级别的缓存不同的 sqlsession 是可以共享的。二级缓存的作用域比一级缓存要更大,二级缓存是 mapper 级别的缓存,你也可以理解为他是一个 namespace 内的缓存。原创 2022-12-27 08:45:00 · 1093 阅读 · 0 评论 -
MyBatis 中的动态 sql
MyBatis 提供了一种标签来代替 1=1 的写法,where 标签只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。使用 where 时会用自动去替换掉 and 或者 or,而使用 set 时会动态地在行首插入 SET 关键字,并会删掉额外的逗号。通过 sql 片段标签,可以将重复的 sql 提取出来,使用时通过 include 引用即可。当传了 id 或 name 时,分别执行对应的查询。原创 2022-12-27 08:30:00 · 585 阅读 · 0 评论 -
MyBatis 实现复杂 Sql 查询
但是在某些业务场景下,可能只需要学生的信息或者教室的信息,而不需要两者的联表数据,这种时候就可以使用懒加载。resultMap 元素是 MyBatis 中最重要最强大的元素,之前所写的 sql 语句,返回值都是简单的基本数据类型或者某一个实体类,比如下面这段 sql 返回的就是最简单的 User 类型。依旧是通过结果嵌套查询的方式,通过 sql 语句查询出结果,再通过 resultMap 进行组装,一对多查询用的是 collection。接着编写 Mapper 接口和对应的 Mapper.xml。原创 2022-12-27 08:30:00 · 1272 阅读 · 0 评论 -
MyBatis中#{}和${}有什么区别
{}是预编译处理,MyBatis 在处理#{}时,它会将 sql 中的#{}替换为?,然后调用 PreparedStatement 的 set 方法来赋值;调用 preparedStatement 的 setString 方法传入参数可以防止 sql 注入,安全性更高。${}是字符串替换,MyBatis 在处理${}时,它会将 sql 中的${}替换为变量的值。这样,MyBatis 就不会修改或转义该字符串了。原创 2022-12-27 08:15:00 · 117 阅读 · 0 评论 -
MyBatis 配置文件解析
每一个在包 com.lanqiaoyun.pojo 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。第一种方式是对类取别名,这里的 resultType 写的是类的全限定名,我们可以在 mybatis-config.xml 中使用类型别名来简化。在写 mybatis-config.xml 环境配置的时候,将数据库的连接信息直接写在了 mybatis-config.xml 配置文件中,不方便后续的更改,因此可以使用属性(properties)的能力。原创 2022-12-27 08:00:00 · 820 阅读 · 0 评论 -
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
解决方法:配置文件加上&useSSL=false原创 2022-12-09 15:09:47 · 204 阅读 · 0 评论 -
Mapped Statements collection already contains value for com解决方法
错误原因1:就是方法id重复了错误原因2:resultType中对应的实体类不存在解决方法:1.查看在同一namespace下是否存在两个或者多个同名id2.检查resultType中对应的实体类名称是否写错还有一种可能就是maven没有清理目标文件,clean一下就可以了希望能对大家有用...原创 2022-04-11 14:08:04 · 2948 阅读 · 0 评论