mybatis
小四是个程序员
这个作者很懒,什么都没留下…
展开
-
There is no getter for property named ‘name‘ in ‘class java.lang.String‘
在使用mybatis时出现了这种错误,这是因为我在sql语句中进行了判断: @Select({"<script> " + "SELECT a.*,b.img_url,b.name FROM floor_item a INNER JOIN banner b ON a.action_id = b.id " + "<if test='name!=null and name!=\"\"'>where b.name = #{name}</原创 2020-12-04 14:52:47 · 1239 阅读 · 0 评论 -
mybatis中xml的if-else条件
在mybatis的xml文件中编写sql语句有时候需要判断是否为空或者判断某些值的情况,比如:select * from user<if test = " id != null "> where id =#{id}</if>这种写法是可以的,不过还有一种方法能加上else条件,这时候就用到了choose, when, otherwise这三个。比如: select * from user <choose> <w原创 2020-07-28 16:24:06 · 7848 阅读 · 0 评论 -
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
今天在使用mybatis查询的时候遇到了这个错误:java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).搞了好久才搞好修改之前的xml是这样的: <select id="getOrderMainOrder" parameterType="map" resultType="map"> SELECT a.id as oId原创 2020-07-24 09:26:33 · 2400 阅读 · 3 评论 -
mybatis一对多查询Pagehelper分页条数不对
问题:在写mybatis一对多的时候用到了Pagehelper进行分页,然后发现确实能分页,但是展示的条数不对,后来研究了发现原来Pagehelper插件在一对多查询的时候默认的是对多的一方进行的分页,不是一的一方。解决:目前我的解决方式是用子查询,这样能够达到我想要的效果,不过会出现N+1次查询,但是我目前没有找到更好的解决方法,有的朋友可以评论分享一下。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "原创 2020-07-24 09:02:47 · 2094 阅读 · 1 评论 -
mybatis遇到Mapped Statements collection does not contain value for xxx 错误
今天遇到了一个mybatis的错误:java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for xxx研究了半天发现是xml文件里面地址映射错了,给我整吐了。1、检查XML里面mapper的命名空间<mapper namespace="com.test.TestMapper">这里路径要对应你的mapper。2、检查方法名称是否对应,我的就是一对多为了分页进原创 2020-07-23 17:27:09 · 4331 阅读 · 1 评论 -
通用mapper批量插入返回主键id
最近在使用tk通用mapper插入的时候需要批量插入数据并且返回主键id,在网上查了很多资料,后来发现原来mybatis在插入的时候自动给主键赋值了,只要插入成功直接打印对象id就是主键。我用insetList()方法进行批量插入数据: List<User> users = new ArrayList<>(); User user = new User(); user.setName("小四"); user.setSex("男"); users.add(user); U原创 2020-07-08 11:15:11 · 2462 阅读 · 0 评论 -
mybatis insertUseGeneratedKeys()返回主键为null
在mybatis中使用insertUseGeneratedKeys()这个插入方法可以返回我们插入当前行的主键,但是今天遇到了为空的情况,下面有几种问题存在的可能性:1、数据库主键是否设置了自增2、实体类中id是否注明了@Id,而且导包是否是import javax.persistence开头的3、如果在XML中配置的主键看看主键是否配置正确...原创 2020-07-04 15:24:24 · 2281 阅读 · 0 评论 -
关于mybatis一对多关联查询多条数据只显示一条的问题
今天写mybatis一对多查询遇到了一个问题,就是多条的数据一直只显示一条,给我快整吐了。然后百度了一下,发现是因为字段名相同的原因,我的两张表的主键都是id,然后就直会显示一条数据了。<resultMap id="BaseResultMap" type="com.lmj.coupon.pojo.CouponForm"> <id column="id" property="id" jdbcType="BIGINT"/> <result col原创 2020-06-29 17:20:50 · 2170 阅读 · 1 评论 -
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的问题
**org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)**这个错误在mybatis中就是接口的方法和xml文件里面没有匹配到。1、检查xml文件里面的<mapper namespace=“com.lmj.coupon.mapper.CouponFormMapper”>检查上方的mapper是否有对应到2、检查xml文件里面的方法id是否与接口的方法名称相同3、检查xml文件是原创 2020-06-29 14:36:05 · 543 阅读 · 0 评论