Mybatis
shenzhou_yh
个人博客:www.shenzhouyh.top
展开
-
Mybatis踩坑记录——if从句中的赋值乌龙
最近遇到一个有点意思的bug,特此记录一下。问题背景前台参数:前端请求后台接口,上送参数进行查询,上传参数如下:可知上送为两个参数:activityType: “3”,merchantId: “3a9d21a0d18a4e1c819dac57b1730992”后台逻辑String activityType = vo.getActivityType(); String merch...原创 2019-12-16 20:00:37 · 1336 阅读 · 1 评论 -
Mybatis中的#{}和${}区别
昨天在项目开发过程中,遇到一个问题,Mybatis绑定变量时,一个ID没有被加上单引号,导致程序报错,最后是发现本该使用#{}的,错用成了¥{}。所以今天记录一下,算是回顾一下知识点了。使用场景分析#{}1、采用预编译的方式进行传值,使用? 作为占位符,可以有效的防止sql注入问题。样例如下:==> Preparing:select count(1) from tb_custom...原创 2019-12-09 21:52:00 · 366 阅读 · 0 评论 -
SQL中的where子句不能使用字段别名(SQL语句中的执行顺序)
文章目录背景介绍问题解决方式一:将where中的别名换成表达式即可解决方式二:使用子查询的方式,然后就可以在where字句中调用了问题拓展总结背景介绍昨天在写sql脚本,与前端进行调试的时候发现,SQL中的字段别名在查询的时候竟然不识别,代码如下:<select id="getDiscountUnionListByPage" resultType="Map">select ...原创 2019-11-21 17:42:42 · 6922 阅读 · 1 评论 -
Mybatis注解方式踩坑记录——元素内容必须由格式正确的字符数据或标记组成
文章目录背景介绍问题原因踩坑过程原始代码(可正常启动运行)错误代码(导致项目无法正常启动)修改后的正确代码(第一版)修改后的正确代码(第二版)总结反思背景介绍这个月的任务有点重,一直在忙着项目的开发,导致之前都没有更新,月底了怎么着也得更一篇啊。下面进入正题之前同事在部署系统时,无法启动,一直报这个错误,但是实在找不到原因,大概的方向就是肯定是sql文件出问题了,因为这部分文件我有参与,...原创 2019-10-31 10:44:50 · 1055 阅读 · 0 评论 -
Mybatis查询报错——com.mysql.jdbc.Connection.isValid(I)Z
背景在搭建springboot项目过程中,完成了项目启动,但是执行数据库操作就会报如下错误:com.mysql.jdbc.Connection.isValid(I)Z原因mysql的jar包版本过低。只需将mysql 的jar包更新一下就行。在更换的过程中还发现一个错误:Unknown system variable ‘tx_read_only’,原因是jdbc驱动5.*的版本不支...原创 2019-09-10 18:30:56 · 664 阅读 · 0 评论 -
springboot配置双数据源(Mybatis)
文章目录背景介绍实现思路环境介绍实现步骤1、配置数据库信息2、数据源配置文件3、补全其他组件代码bean包,里面随意放了两个简单的类mapper包dao包service包controller包启动类资源包总结背景介绍最近的项目需求,需要将两个现有项目进行整合,原因是跨系统访问数据库,使用接口稍显复杂,而且还得不停的维护接口,所以想采取双数据源方案解决。由此,在网上查资料,自己写了个demo,仅...原创 2019-09-10 17:53:50 · 3284 阅读 · 0 评论 -
(Mybatis)attempted to return null from a method with a primitive return type (int)
问题描述执行sql语句执行更新语句时,后台直接报错了,报错信息如下:attempted to return null from a method with a primitive return type (int)解决方法是因为Mybatis的中的返回值类型写错了,应该使用包装类型而不是基本类型,将int改为Integer即可@Select(" update tb_customer_t...原创 2019-07-06 19:07:34 · 413 阅读 · 0 评论 -
Mybatis执行插入语句,未使用定义的默认值
背景系统中的某个实体表字段值为null时,其实表示的是无限大,但是当对其进行数量过滤时,又被过滤掉了,所以想给字段一个很大的默认值来解决这个问题。解决方法第一步:将所有的null值更新赋值为默认值,执行一条sql即可update tb_discount set discount_count = 100000 where discount_count is null第二步:设置指定...原创 2019-07-15 11:27:56 · 3194 阅读 · 0 评论 -
mybatis返回map类型数据空值字段不显示
业务需求背景为另一个系统提供接口查询数据,当数据为空时,该字段就直接不显示了,不符合对方的参数要求,现需要将所有字段进行展示。解决方法一对具体字段进行判断,为空则给默认值显示(CASE WHEN a.end_time is null then '' ELSE a.end_time END) as "endDate"也可以使用ifnull函数进行判断IFNULL(a.end_time,...原创 2019-06-24 12:16:32 · 1790 阅读 · 0 评论 -
Mybatis返回map集合时,列的顺序与select不一致
<select id="queryPercentByAsset" resultType="java.util.HashMap">将Hashmap换成LinkedHashMap即可<select id="queryPercentByAsset" resultType="java.util.LinkedHashMap">原创 2019-04-20 14:34:46 · 3799 阅读 · 0 评论