Mybatis
文章平均质量分 73
沉泽·
心中有阳,眼里有光。
展开
-
Mybatis的批处理操作详解
Mybatis批处理操作文章目录Mybatis批处理操作一、Foreach方式批量插入批量更新批量删除二、Batch方式三、preparedStatement方式总结一、Foreach方式批量插入插入方式一:注:(oracle不支持,mysql支持,有返回插入行数)<insert id="insertByBatch" parameterType="java.util.List"> INSERT INTO WBM_ERT_DED_RST_T ( <i原创 2021-04-19 11:13:26 · 4771 阅读 · 1 评论 -
Mybatis实现自定义类型转换器TypeHandler的方法
当大家使用mybatis作为持久层框架时,在存储和查询数据时,只需要在mapper.xml文件中配置好对应字段的JdbcType和JavaType,mybatis就可以帮我们转化对应的类型。这背后是有mybatis内置的类型转换器做转换(可见源码TypeHandlerRegistry)。但是有时候,我们会对某些字段做特殊处理,比如加密和解密、状态转换、类型转换等。这个时候我们需要自定义类型转换器。BaseTypeHandler则是类型处理器的基础,是所有类型处理器的公共模块,几乎所有的类型处理器都是通过直转载 2021-12-30 18:46:12 · 793 阅读 · 0 评论 -
基于Mybatis拦截器实现数据库切换
背景工作中曾经遇到一个这样的场景:一个项目下面配置了多个数据库,一个接口的业务要查询的数据可能来源于多个表,而这些表却又分布在不同数据库中,这个时候,就可以通过Mybatis的拦截器,在sql执行前切换数据库即可。注意:项目是springboot项目,数据使用的是mysql(没测试过oracle)。代码Application:@SpringBootApplication public class Application { public static ConfigurableApp原创 2021-07-15 10:13:24 · 2118 阅读 · 0 评论 -
Mybatis调用存储过程和函数
一、前言本文汇总了java和Mybatis调用存储过程和函数的使用。Mybatis调用参考:https://blog.csdn.net/dwenxue/article/details/82257944JDBC调用参考:https://my.oschina.net/u/3038200/blog/3197315一、Mybatis方式调用1.1 创建UserMapperpackage com.po;public class User { private Integer id; private S转载 2021-09-16 17:24:06 · 2373 阅读 · 0 评论 -
mybatis一级缓存二级缓存
一级缓存Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。 为什么要使用一级缓存,不用多说转载 2021-08-18 15:51:50 · 148 阅读 · 0 评论 -
Mybatis注解@MapKey的使用
Mybatis-注解@MapKey文章目录Mybatis-注解@MapKey作用使用案例作用标注在mapper方法上,作用是使得sql执行后返回一个map。@Mapkey(“”)括号中可以指定值,用作键值。使用案例方法:@MapKey("chgCard")Map<String, ErtPrcDbo> getErtPrcList(@Param("sysDate") String sysDate, @Param("chgCardList") List<String> c原创 2021-04-19 11:40:39 · 1391 阅读 · 1 评论 -
Mybatis拦截器使用介绍
MyBatis拦截器介绍MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。那么拦截器拦截MyBatis中的哪些内容呢?我们进入官网看一看:MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)Paramet转载 2021-07-15 10:57:12 · 1363 阅读 · 0 评论