
mybatis
文章平均质量分 67
mybatis
猎人在吃肉
这个作者很懒,什么都没留下…
展开
-
Mybatisplus 分页查询时,禁止自动统计总数
Mybatisplus 分页查询时,禁止自动统计总数转载 2023-02-20 14:39:15 · 5623 阅读 · 0 评论 -
mybatis 使用第三方缓存 EHCache 的配置
mybatis 有一级缓存和二级缓存。其中,一级缓存是内置的,默认开启的,无法更改;由于mybatis 不是专业的缓存厂商,因此提现了二级缓存接口,便于专业的缓存厂商来实现。无论是mybatis 内置的二级缓存,还是第三方实现的二级缓存,除了缓存本身需要进行一定的配置外, 普通开发者的业务代码不需要做任何变动。存在 SLF4J 时,作为简易日志的 log4j 将失效,此时我们需要借助 SLF4J 的具体实现 logback 来打印日志。默认二级缓存是mybatis内置的,改成 EHCache 的二级缓存。转载 2022-12-11 19:56:56 · 506 阅读 · 0 评论 -
mybatis-Plus 增加乐观锁
mybatis-Plus 增加乐观锁原创 2022-11-28 11:12:31 · 461 阅读 · 0 评论 -
mybatis-plus 分页查询
搞清楚中分页查询的原理,我们来自定义分页查询方法。这里我使用的是的版本。转载 2022-09-07 15:41:40 · 3302 阅读 · 0 评论 -
mybatis 配置 mapper.xml 中 like 模糊查询含有转义字符串(通配符% 、_)的查询
mysql 的 like 模糊语句中的通配符:% 和 _ 。% :表示任意个或多个字符。可匹配任意类型和长度的字符。_ :表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)现在有个需求,查询某个字段中含有 _ 的所有数据。第1步,SQL语句编写如果使用下面的 SQL语句,select * from mytable where content like '%_%'由于 _ 匹配任意字符串,所以上面的SQL 等于 select * from m原创 2021-04-21 21:46:04 · 8576 阅读 · 0 评论 -
mysql 统计时,mybatis 使用trim 模拟 having 函数的使用
最近在做数据统计,数据库是mysql ,统计用到 having 函数, 但是 mybatis 中没有having 标签,刚开始时使用的是 if 标签,但是 if 标签使用太复杂,还得判断 if 标签内的SQL 是否为空等等,最后想到了使用 trim 标签来模拟 having 的使用。<sql id="Base_Where"> <where> <if test='id != null and id != "" '> and t.id = #{ id }原创 2021-04-13 18:33:37 · 1643 阅读 · 0 评论 -
mybatis-generator-gui 的使用
1、源码地址mybatis-generator-gui 源码地址:https://github.com/zouzg/mybatis-generator-gui/tree/v0.8.4当前使用的版本是 v0.8.4 。2、使用方式2.1、源码执行main方法首次下载源码,在IDE中,找到 MainUI.java ,然后 main 方法执行:2.2、执行 jar1)下载源码下载 mybatis-generator-gui 源码,2)打包执行maven 打包命令: mvn install原创 2020-10-23 14:22:00 · 1309 阅读 · 0 评论 -
mybatis 字符串按逗号分割为数组,进行SQL拼接
// 省略... <if test='ids != null and ids !="" '> and t.id in <foreach item="id" collection='ids.split(",")' open="(" separator="," close=")"> #{id} </foreach> </if> <!-- 比如 String ids=“1,2,3,4,5” ,拼接结果是 and t.id in (原创 2020-10-13 11:49:55 · 6792 阅读 · 0 评论 -
mybatis 的 if、test 表达式中单引号与双引号的区别
1、使用中出现的问题XxxxMapper.xml<if test="code !=null and code == 'a' " >//此处省略...</if> 异常### Error querying database. Cause: java.lang.NumberFormatException: For input string: "a"### Cause: java.lang.NumberFormatException: For input string: "转载 2020-10-13 10:41:29 · 5036 阅读 · 1 评论 -
MyBatis 的一级缓存和二级缓存
文章目录一、前言二、一级缓存三、二级缓存3.1、开启二级缓存:四、测试一下五、总结:一、前言先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。二、一级缓存一级缓存 是 SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有...转载 2020-04-22 18:26:11 · 7263 阅读 · 0 评论 -
mybatis 调用存储过程,带in、out 参数
文章目录1、需求2、准备数据库表、存储过程2.1、创建表,导入数2.2、创建存储过程:2.3、测试存储过程:3、 创建表的实体类4、UserMapper.xml5、 测试调用1、需求统计男性、女性的数量,如果传入的是0,就统计女性的数量,否则统计男性的数量。2、准备数据库表、存储过程2.1、创建表,导入数create table p_user( id int primary key...原创 2020-04-22 17:22:54 · 3611 阅读 · 0 评论 -
@Mapper 与 @MapperScan 的区别
文章目录1、@Mapper注解2、@MapperScan2.1、@MapperScan 扫描多个包2.2、 @MapperScan 使用表达式,来扫描的包和其子包下面的类3、总结:1、@Mapper注解作用:用在接口类上,在编译之后会生成相应的接口实现类位置:对应的某个接口类上面@Mapperpublic interface EmployeeMapper { public Em...原创 2019-11-27 11:45:42 · 19506 阅读 · 4 评论 -
Mybatis中的 ${ } 和 #{ }的区别
一、举例说明查询表user中,字段name = “dato”的数据: select * from user where name = #{name}; select * from user where name = ${name}; 两种sql都可以达到我们的目的,去查询名字叫dato的用户。有什么不同呢?二、区别动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个转载 2017-12-26 12:14:37 · 343 阅读 · 0 评论 -
Mybatis的pagehelper使用遇到的坑
下面是maven中配置pagehelp: 用的是5.1.2版本&amp;lt;!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --&amp;gt;&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.github.pagehelper&a原创 2018-07-16 16:27:44 · 10058 阅读 · 0 评论 -
mybatis parameterType 传入多个参数的使用
mybatis parameterType 多个参数一、单个参数:public List&amp;lt;XXBean&amp;gt; getXXBeanList(@param(&quot;id&quot;)String id); &amp;lt;select id=&quot;getXXXBeanList&quot; parameterType=&转载 2018-07-16 18:46:42 · 21092 阅读 · 4 评论 -
mybatis配置文件中resultType和resultMap的区别、mybatis自带的别名
resultType和resultMap的区别:resultMap 是在 mapper.xml 文件中通过 resultMap 节点定义出来的returnType 是自定义的类 或者 jdk 自带的类、基本数据类型定义一个 resultMap:&amp;amp;amp;amp;amp;lt;resultMap id=&amp;amp;amp;amp;quot;BaseResultMap&amp;amp;amp;amp;quo转载 2018-07-15 20:28:09 · 8050 阅读 · 0 评论 -
MyBatis动态SQL中trim的使用
My Batis 官方文档 对 动态SQL中使用trim标签的场景及效果介绍比较少。 事实上trim标签有点类似于replace效果。 trim 属性值: prefix:前缀,增加一些指定的内容 prefixOverrides:前缀重写,删除指定的内容 suffixOverrides:后缀重写,删除指定的内容 suffix:后缀,增加一些指定的内容示列1select原创 2017-11-22 14:29:50 · 3059 阅读 · 6 评论 -
Spring中@Transactional事务回滚
一、Spring 默认事务Spring中@Transactional事务,默认情况下只对 RuntimeException 回滚。即:如果被注解的数据库操作方法中发生了unchecked异常(RuntimeException),所有的数据库操作将rollback;如果发生的异常是checked异常(Exception),默认情况下数据库操作还是会提交的。也就是说,默认情况下,如果程序............转载 2018-10-29 15:55:19 · 23993 阅读 · 7 评论 -
(转载)MySQL的InnoDB索引原理详解
转载:https://www.cnblogs.com/shijingxiang/articles/4743324.html转载 2019-02-11 16:49:51 · 324 阅读 · 0 评论 -
MyBatis - Generator 生成的example 支持 a=? and ( b=? or c=? )
MyBatis - Generator 生成的example 支持 a=? and ( b=? or c=? )在public static class Criteria extends GeneratedCriteria {}的内部增加如下代码: public Criteria andOrClause(Object value1,Object value2){ addCr...原创 2019-10-10 16:54:07 · 994 阅读 · 0 评论 -
myBatis的动态sql
首先要知道动态sql是什么?if 标签choose标签where标签trim标签foreach标签set标签枚举类型CLOB 和 BLOB传递多个参数将多行数据存储到map中,并以某个列值作为key首先要知道动态sql是什么?在传统的JDBC方法中,在组合复杂的SQL语句的时候,我们需要去拼接,稍有不注意,例如少了一个空格,就会导致错误,很不方便。而...转载 2018-04-03 19:44:26 · 179 阅读 · 0 评论