mybatis学习笔记
文章平均质量分 70
whhwch1986
人中赤兔,马中吕布
展开
-
Mybatis @SelectProvider+SQL实现简单的动态查询
目标1、抛弃mapper的xml文件2、根据插入的实体对象,自动生成动态sql3、实现一个简单的动态查询代码mapper接口:package com.huwc.mapper;import com.huwc.TestMapperProvider;import com.huwc.bean.User;import org.apache.ibatis.annotations.SelectProvider;import java.util.List;public interface原创 2021-05-24 00:02:56 · 1888 阅读 · 0 评论 -
手写mybatis完整sql插件
问题产生我们在使用mybatis的过程中,如果开启了mysql的日志功能的话,会在控制台打印一些sql的信息,但是日志中的sql语句,是没有拼接参数的,也就是说,是不可以直接放到数据库中执行的。some times,我们在调试问题的时候,会希望有一个直接可以运行的SQL语句,那将方便很多,特别是在sql语句绑定参数很多的时候。现象描述默认的mysql日志配置和打印情况如下:<settings> <setting name="logImpl" value="STDOUT_L原创 2021-05-22 23:21:49 · 2160 阅读 · 17 评论 -
Mybatis 一级缓存与二级缓存
mybatis缓存mybatis作为一个流行的持久化工具,缓存必然是缺少不了的组件。通过这篇文章,就让我们来了解一下mybatis的缓存。mybatis缓存类型说起mybatis的缓存,了解过的同学都知道,mybatis中可以有两种缓存类型:第一种,我们通常称为以及缓存,或者sqlSession级别的缓存,这种缓存是mybatis自带的,如果mapper中的配置都是默认的话,那么一级缓存也是默认开启的。第二种,就是非sqlSession级别的缓存了,我们通常称为二级缓存,mybatis中的二级缓原创 2021-05-18 20:30:28 · 831 阅读 · 0 评论 -
从interceptor看mybatis的执行过程
mybatis 四大对象1、Executor :SIMPLE、RESUE、BATCH2、StatementHandler :SIMPLE、PREPARED、CALLABLE3、ParameterHandler4、ResultSetHandlermybatis运行过程中,会按照需要进行上述四大对象的创建:其中,在创建SqlSession时会进行Executor对象的创建;在执行sql语句的时候会创建StatementHandler对象的创建;在创建StatementHandler对象原创 2021-05-16 10:41:09 · 504 阅读 · 0 评论 -
mybatis学习记录(三)
在mybatis使用过程中,如果需要自定义mybatis使用的数据源的话,那么需要做如下操作:1、添加需要的数据库连接池的jar包,或者添加相关的maven配置;2、自定义DataSourceFactory类,继承UnpooledDataSourceFactory,通过带参构造方法实现DataSource的注入;3、看需要修改mybatis-config.xml配置文件,修改属性配置。<dependency> <groupId>com.alibaba</grou原创 2021-01-15 15:10:52 · 136 阅读 · 0 评论 -
mybatis学习记录(二)
mybatis中有两种操作数据库的方式:第一种比较古老,在mapper配置文件中做好配置之后,直接通过sqlSession提供的接口来关联配置文件中的sql进行操作,具体操作如下:mapper配置: <select id="queryAllUsers" resultType="User"> select * from hwc_users </select>操作方式一: List<User> userList = sqlSession.selectL原创 2021-01-14 20:02:43 · 120 阅读 · 0 评论 -
mybatis学习记录(一)
TestMapper mapper1 = sqlSession.getMapper(TestMapper.class);TestMapper mapper2 = sqlSession.getMapper(TestMapper.class);System.out.println(mapper1 == mapper2);读mybatis源码过程中,产生了一个想法,sqlSession作为一个会话,也可以说说一个门面,其中集成了很多的针对数据库的操作接口,也就是很多方法,以及在创建过程中,将Configu原创 2020-12-12 23:56:09 · 118 阅读 · 0 评论