![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
听友
这个作者很懒,什么都没留下…
展开
-
Mybatis插件编写
1.实现Interceptor接口interceptor:拦截目标对象的目标方法的执行plugin方法:包装目标对象的,为目标对象创建一个代理对象,可以借助plugin的wrap方法来使用当前Interceptor对象包装的目标对象setProperties:将插件注册时的properties注册进来2.使用@Intercepts注解完成插件签名,该注解指示拦截哪四大对象的哪个方法、参...原创 2020-02-22 21:27:58 · 125 阅读 · 0 评论 -
Mybatis原理和四大对象
四大对象:StatementHandler:处理sql语句预编译,设置参数等相关工作ParameterHandler:设置预编译参数用的ResultHandler:处理结果集Executor:它是一个执行器,真正进行java与数据库交互的对象查询过程:1.根据配置文件(全局,sql映射)初始化出Configuration对象2.创建一个DefaultSqlSession对象,它里...原创 2020-02-22 21:14:06 · 1865 阅读 · 0 评论 -
Mybatis逆向工程(MBG)标签详解
逆向工程可以生成Javabean、mapper接口、xml文件javaModelGenerator标签:javabean生成策略//targetPackage:目标包名//targetProject:目标工程<javaModelGenerator targetPackage="com.mybatis.bean" targetProject=".\src"> ...原创 2020-02-22 20:47:29 · 443 阅读 · 0 评论 -
Mybatis中的缓存
Mybatis缓存:一级缓存是一直开启的,是SqlSession级别的一个map失效条件:1.SqlSession不同2.SqlSession相同,查询条件不同3.SqlSession相同,两次查询之间执行了增删改操作4.SqlSession相同,手动清除了一级缓存一级缓存失效,就需要再向数据库发查询语句只有会话提交或关闭后,一级缓存中的数据才会转移到二级缓存中二级缓存(全局...原创 2020-02-22 19:59:25 · 99 阅读 · 0 评论 -
Mybatis(二)
动态sql查询的时候如果某些条件没带可能sql拼装会有问题,解决:1.where 1=12.mybatis使用where标签将所有的查询条件包括在内,mybatis会将where标签中拼装的sql 多出来的 and 或 or 去掉where只会去掉第一个多出来的and和or,后面多出来的and和or不能解决//动态sql标签<if test=""></if>...原创 2020-02-22 19:14:29 · 76 阅读 · 0 评论 -
Mybatis(一)
Mybatis使用过程:1.创建sql映射文件2.将sql映射文件注册到全局配置文件3.根据全局配置文件得到SqlSessionFactory,使用SqlSession工厂获取到SqlSession对象来执行crud,使用sql id来告诉mybatis执行那个sql使用mapper接口,推荐使用接口式编程。mapper是个代理对象。获取接口的实现类对象,会为接口自动创建一个代理对象,...原创 2020-02-22 17:57:57 · 90 阅读 · 0 评论