mybatis
文章平均质量分 69
Coder-文小白
95后Java后端程序员,新晋菜鸟奶爸,开始尝试探索副业的小白。微信公众号:Coder-文小白
展开
-
MyBatis的Mapper.xml文件中关于字符串的判断写法
在mybatis的Mapper.xml文件中,如果需要在<if>标签中判断字符串是否相等,是不能使用:<if test="str == '0'"></if>这种方式的。解决方式有两种:使用toString()方法:<if test="str == '0'.toString() "></if>使用单引号嵌套双引号的方法:<if test='str == "0" '></if>...原创 2021-01-26 10:37:48 · 4676 阅读 · 1 评论 -
同一条SQL语句,MyBatis 查询结果与 MySQL 执行结果居然不一致!
一、前言不知道大家平时在开发过程中有没有遇到这样的问题,同一条SQL语句,MyBatis 查询结果与 MySQL 执行结果居然不一致,具体说应该是MyBatis 查询结果比MySQL 执行结果的数据更少。不要不相信,如果不注意,这样的坑,你还真有可能会踩的。二、代码演示下面用代码简单演示一下:创建两张表用于测试用:teacher表:CREATE TABLE `teacher` ( `id` int(11) NOT NULL, `name` varchar(255) CHARAC原创 2020-12-16 16:12:56 · 8146 阅读 · 1 评论 -
spring boot 2.x 使用mybatis拦截器实现系统日志记录(将完整参数的SQL语句记录到数据库中)
一、前言最近要求做系统的全局日志记录功能,要求把执行的完整SQL语句保存到数据库中,在实际开发中最终放弃了使用AOP的方法,改由使用mybatis的拦截器实现,这里简单记录一下实现过程。系统数据库主要环境:数据库:MySQL数据源:DruidDataSource二、创建数据库用表这里只是简单演示一下实现过程,只用两张表模拟一下:用户表(user)CREATE TABLE `user` ( `id` bigint(20) NOT NULL, `age` int(11) NUL原创 2020-12-04 16:37:40 · 2437 阅读 · 2 评论 -
Mybatis插入数据时,自动获取自增主键值
在平时开发中,可能会遇到数据库主键是自增的情况,这时我们保存数据时并不需要指定主键,可是很多时候都需要获取保存数据后生成的主键,怎么办呢?mybatis提供了两种方式获取数据库自增主键:在insert标签中使用 useGeneratedKeys、keyProperty、keyColumn 属性获取;在insert标签中嵌套 selectKey 标签获取。下面使用小案例演示一下,这里使用的是MySQL数据库:创建一张测试用的book表,建表语句如下:CREATE TABLE `book`原创 2020-09-02 11:22:03 · 3653 阅读 · 0 评论 -
mybatis resultType自带数据类型别名
为了简化开发,mybatis 默认在 org.apache.ibatis.type.TypeAliasRegistry 中为我们定义了一些常见类的别名:public TypeAliasRegistry() { registerAlias("string", String.class); registerAlias("byte", Byte.class); registerAlias("long", Long.class); registerAlias("short", S原创 2020-07-15 11:46:15 · 2447 阅读 · 0 评论