mybatis
文章平均质量分 66
想到的名字都被人用了
这个作者很懒,什么都没留下…
展开
-
mybatis-mapper的动态代理原理
一、配置mapper在进行动态代理前,我们需要在mybatis的全局配置环境中配置mapper标签,告诉mybatis我的mapper都在哪,同时需要在项目中创建mapper的xml文件和对应的接口注意:mapper的xml文件要与接口名一样,namespace也需要设置为接口的全路径名,只有这样才能在为mapper接口做动态代理的时候找到正确的sql语句二、源码分析涉及到的模块1. DefaultSqlSession:sqlsession的实现类,对jdbc的connection进行了封装2.原创 2021-12-30 20:46:22 · 1216 阅读 · 1 评论 -
MyBatis04-数据库记录与实体对应关系、resultMap、N+1查询方式
一、数据表与java实体在开发中,我们数据库常常包含多张表,每张表包含的记录也各不相同。学生表(stuno,sname,classno)班级表(classno,cname)课程表(sid,sname)选课表(stuno,sname)我们会创建四个类分别表示学生表的记录、班级表的记录、课程表的记录和选课表的记录。现在想象一下这样的业务场景,我们需要查询所有学生以及它们对应的班级(不能直接使用多表查询)我们往往会选择先查询所有的学生,再利用学生记录里面的classno字段来查询对应的班级。业务原创 2021-08-30 17:47:15 · 558 阅读 · 0 评论 -
mybatis03-动态sql
动态sql语句中,主要掌握if、where、set、foreach、bind,其余的标签了解即可。一、if<select id="selectMore" resultType="flower"> SELECT * from flower where 1=1 <!--OGNL表达式--> <if test="param1!=null and param1!=''"> and na.原创 2021-08-21 22:53:21 · 88 阅读 · 0 评论 -
Mybatis02-传参、代理
一、sqlsession的三种查询方式test代码 //1.读取资源 InputStream resource = Resources.getResourceAsStream("mybatis.xml"); //2.创建sessionFactory SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resource); //3.创建session原创 2021-08-21 15:39:57 · 279 阅读 · 0 评论 -
Mybatis-缓存解析
一级缓存在mybatis中一级缓存是默认开启的,它以sqlsession’为单位,多个sqlsession的缓存相互独立,互不干扰一级缓存的生命周期MyBatis 在开启一个数据库会话时,会创建一个新的 SqlSession 对象,SqlSession 对象中会有一个新的 Executor 对象。Executor 对象中持有一个新的 PerpetualCache 对象;当会话结束时,SqlSession 对象及其内部的 Executor 对象还有 PerpetualCache 对象也一并释原创 2022-01-04 13:55:53 · 636 阅读 · 0 评论 -
Mybatis01-配置文件及简单使用
一、mybatis需要的jar包ant:用于编译java类,生成class文件,用于集中式项目asm:java文件解析包。spring依赖于这个包cglib:动态代理包,将xml与接口关联起来,不用去写实现类commoons-logging:日志包...原创 2021-08-17 18:59:48 · 216 阅读 · 0 评论