MyBatis
文章平均质量分 81
牧心.
心之所向,素履以往
展开
-
【Mybatis】错误记录
bug 1错误:java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.company.org.pojo.Student原因:把resultType错写成resultMapbug 2错误:org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.原创 2021-07-10 00:40:06 · 66732 阅读 · 0 评论 -
【Mybatis】多表查询(一对多、多对一)
先说明一下本文的例子:学生-老师。一对多:查询某位老师的所有学生。多对一:查询所有学生以及他们的老师。1. resultMapresultMap元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBCResultSets数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份resultMap能够代替实现同等功能的数千行代码。ResultMap 的设计思想是,对简单的语句做到...原创 2021-07-10 00:36:20 · 64455 阅读 · 0 评论 -
【Mybatis】日志
Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:SLF4J Apache Commons Logging Log4j 2 Log4j JDK loggingMyBatis 内置日志工厂会基于运行时检测信息选择日志委托实现。它会(按上面罗列的顺序)使用第一个查找到的实现。当没有找到这些实现时,将会禁用日志功能。不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging。注意,在这种配置环境下原创 2021-07-07 14:21:53 · 65285 阅读 · 0 评论 -
【Mybatis】缓存
1、什么是缓存Cache ? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2、为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。3、什么样的数据能使用缓存?经常查询并且不经常改变的数据。Mybatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极原创 2021-07-06 22:34:42 · 64273 阅读 · 0 评论 -
【Mybatis】动态SQL 实例
动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。本篇文章要讲的mybatis元素主要有if choose (when, otherwise)原创 2021-07-02 22:17:27 · 77067 阅读 · 7 评论 -
【Mybatis】配置之属性优化
1. 环境配置(environments)MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。所以,如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,原创 2021-06-29 21:59:54 · 66251 阅读 · 1 评论 -
【Mybatis】Map传参和模糊查询
本文项目承接【Mybatis】增删改查的实现1. map传参1.1 insert(1)在UserMapper.java文件中添加:// insert mapint addUserMap(Map<String, Object> map);(2)在UserMaooer.xml文件中添加:<insert id="addUserMap" parameterType="map"> insert into user(id, name, pwd) valu.原创 2021-06-29 21:22:36 · 66133 阅读 · 0 评论 -
【Mybatis】增删改查的实现
本文承接【Mybatis】一个Mybatis程序。namespace的包名要和Dao/mapper接口的包名一致!<mapper namespace="com.company.org.dao.UserMapper"> <!-- ... --></mapper>MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省.原创 2021-06-28 20:20:29 · 65738 阅读 · 0 评论 -
【Mybatis】一个Mybatis程序
思路:搭建环境——>导入mybatis——>编写代码——>测试原创 2021-06-22 21:03:03 · 66340 阅读 · 0 评论 -
【Mybatis】Mybatis入门
1.什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。...原创 2021-06-20 20:03:04 · 67022 阅读 · 0 评论