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