mybatis-plus在mapper.xml中用Group By 出现的问题
我的错误是Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql :这些是sql语句首先 sql语句在数据库里直接运行是没有问题的,而且在我的本地运行项目也没有报这种错误,到了服务器上就会报错,我本地和服务器环境一致,这
·
我的错误是
Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql : 这些是sql语句
首先 sql语句在数据库里直接运行是没有问题的,而且在我的本地运行项目也没有报这种错误,到了服务器上就会报错,我本地和服务器环境一致,这种问题也是出现多次了
经历了三个小时的反复测试终于成功
我修改后的mapper文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bjbss.bbcsupport.mapper.BbcZsbankMapper">
<resultMap id="ResultMap" type="com.bjbss.bbcsupport.domain.BbcZsbank">
<result column="batch_number" property="batchNumber"/>
<result column="tname" property="name"/>
<result column="id_card" property="idCard"/>
<result column="trelation" property="relation"/>
<result column="recognizee_name" property="recognizeeName"/>
<result column="recognizeeCard" property="recognizeeCard"/>
<result column="coverages" property="coverages"/>
</resultMap>
<select id="findPage" resultMap="ResultMap">
select min(name) as tname,id_card,min(relation) as trelation ,recognizee_name,min(recognizee_card) as recognizeeCard,SUM(coverage) as coverages
from bbc_zsbank where id_card = #{params.idCard}
GROUP BY recognizee_name,id_card
</select>
</mapper>
修改前文件代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bjbss.bbcsupport.mapper.BbcZsbankMapper">
<resultMap id="ResultMap" type="com.bjbss.bbcsupport.domain.BbcZsbank">
<result column="batch_number" property="batchNumber"/>
<result column="name" property="name"/>
<result column="id_card" property="idCard"/>
<result column="relation" property="relation"/>
<result column="recognizee_name" property="recognizeeName"/>
<result column="recognizee_card" property="recognizeeCard"/>
<result column="coverages" property="coverages"/>
</resultMap>
<select id="findPage" resultMap="ResultMap">
select name,id_card,relation ,recognizee_name,recognizee_card,SUM(coverage) as coverages
from bbc_zsbank where id_card = #{params.idCard}
GROUP BY recognizee_name,id_card
</select>
</mapper>
给不是 group by 条件的字段加了 min函数 起了别名让这个字段脱离数据库属性

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)