随笔分类 -  Mybatis

摘要:一、动态代理,我们来看一下获取Mapper的过程: 获取Mapper 我们都知道定义的Mapper接口是没有实现类的,Mapper映射其实是通过动态代理实现的 获取Mapper的过程,需要先获取MapperProxyFactory——Mapper代理工厂 MapperProxyFactory Map 阅读全文
posted @ 2025-04-27 14:20 jock_javaEE 阅读(31) 评论(0) 推荐(0)
摘要:一、MyBatis的工作原理 我们已经大概知道了MyBatis的工作流程,按工作原理,可以分为两大步: 生成会话工厂 、 会话运行 构建会话工厂 构造会话工厂也可以分为两步: 解析 mybatis-config.xml 和所有 mapper.xml 文件 构建 Configuration 对象,包含 阅读全文
posted @ 2025-04-27 05:26 jock_javaEE 阅读(43) 评论(0) 推荐(0)
摘要:目录 1、执行器介绍 执行器的选择入口 设置执行器两种方式 全局配置(不建议) 局部设置(建议) 2、三个执行器区别 SimpleExecutor ReuseExecutor BatchExecutor 总结 3、效率测试 4、平时开发使用 一、执行器介绍 Mybatis中执行器关系如上图所示,真正 阅读全文
posted @ 2025-03-27 17:16 jock_javaEE 阅读(154) 评论(0) 推荐(0)
摘要:一、运行原理 二、配置文件的解析以及创建SqlSessionFactory 首先通过配置文件的文件流创建SqlSessionFactoryBuilder对象 调用build方法,传入文件流 之后通过解析器解析xml配置文件 通过XPathParse解析configuration节点,获取根节点,之后 阅读全文
posted @ 2025-03-26 21:07 jock_javaEE 阅读(37) 评论(0) 推荐(0)
摘要:第一阶段XML的解析 第一部分:项目结构 user_info表:没什么好说的就3个字段 User实体类: mapper:UserMapper 为根据id查询用户信息 UserMapper.xml mybaitis的主配置文件: 数据库连接的属性文件: 测试类: 结构图: 第二部分:mybatis重要 阅读全文
posted @ 2024-08-06 23:44 jock_javaEE
摘要:例子、 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 阅读全文
posted @ 2021-04-16 23:28 jock_javaEE 阅读(91) 评论(0) 推荐(0)
摘要:例子1、 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" 阅读全文
posted @ 2021-04-16 19:03 jock_javaEE 阅读(125) 评论(0) 推荐(0)
摘要:例子、 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd < 阅读全文
posted @ 2021-04-16 16:05 jock_javaEE 阅读(322) 评论(0) 推荐(0)
摘要:一、 一级缓存:它指的是mybatis的sqlsession对象缓存。 当我们执行查询之后,查询的结果会同时存入到sqlsession为我们提供的一块区域中. 该区域的结构是一个Map,当我们再次查询同样的数据,mybatis会首先去sqlssion缓存中查找是否有该数据,有的话直接获取 二、解析一 阅读全文
posted @ 2020-07-19 02:16 jock_javaEE 阅读(141) 评论(0) 推荐(0)
摘要:resultType可以指定将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。 如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 ,resultMap实质上还需要将查询结果映射到pojo对象中。 resultMa 阅读全文
posted @ 2020-07-17 19:16 jock_javaEE 阅读(109) 评论(0) 推荐(0)
摘要:一、传递简单数据类型 二、传入一个bean对象 三、传入一个包装对象(对象中存放对象) 阅读全文
posted @ 2020-07-17 19:13 jock_javaEE 阅读(164) 评论(0) 推荐(0)
摘要:1:xml的配置 <insert id="insertUserBatch"> insert into user(username, birthday, sex, address) VALUES <foreach collection="list" item="User" index="index" 阅读全文
posted @ 2020-07-17 11:13 jock_javaEE 阅读(126) 评论(0) 推荐(0)
摘要:一、比较灵活 1:xml的配置 <select id="selectUserByUsername1" parameterType="string" resultType="com.apcstudy.user.domain.User"> select * from user where usernam 阅读全文
posted @ 2020-07-17 10:11 jock_javaEE 阅读(187) 评论(0) 推荐(0)
摘要:一、 useGeneratedKeys="true" <insert id="saveUser" parameterType="com.apcstudy.user.domain.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id" 阅读全文
posted @ 2020-07-17 09:54 jock_javaEE 阅读(402) 评论(0) 推荐(0)
摘要:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8 添加了useUnicode=true&characterEncoding=utf8参数之后,插入中文就正常了 阅读全文
posted @ 2020-07-16 22:12 jock_javaEE 阅读(169) 评论(0) 推荐(0)
摘要:一、 7.4.1. <mapper resource=" " /> 使用相对于类路径的资源(现在的使用方式,UserMapper接口与UserMapper.xml的包路径相同 如:<mapper resource="sqlmap/User.xml" /> 二、 7.4.2. <mapper clas 阅读全文
posted @ 2020-07-16 20:53 jock_javaEE 阅读(605) 评论(0) 推荐(0)
摘要:一、必须遵守的四项原则 1:接口 方法名==xx.xml中的id名 2:方法返回值类型与Mapper.xml文件中返回值类型一致 3:方法的入参类型与Mapper.xml文件中入参值类型一致 4:命名空间绑定接口 二、 public class UserMapperTest { private Sq 阅读全文
posted @ 2020-07-15 00:04 jock_javaEE 阅读(173) 评论(0) 推荐(0)
摘要:一、通过SqlSessionFactory创建sqlsession,再由Sqlsession获取session对象,然后通过session中的执行器Executor,去执行MapperStatement封装的sql语句 @Test public void findAll() throws IOExc 阅读全文
posted @ 2020-07-14 22:07 jock_javaEE 阅读(150) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2032084/202007/2032084-20200714115958642-1063455364.png) 阅读全文
posted @ 2020-07-14 12:00 jock_javaEE 阅读(104) 评论(0) 推荐(0)