首页 > TAG信息列表 > keyColumn
Mybatis属性useGeneratedKeys,keyProperty,keyColumn的使用
事情情景 在做一个插入操作的时候,总是报一个主键重复或者字段不能为空的错误: 原因 在A.mapper中的insert语句中,使用了useGeneratedKeys,keyProperty属性,那这两个属性是干什么用的呢? useGeneratedKeys=true表示使用数据库自动增长的主键keyProperty设置自增主键返回字段(用户使用MyBatis将数据库的两列映射成Map
1. 需求描述 平时主要负责聚合公司各组的数据到ES,经常会遇到从不同的表取出两列简单的映射关系的需求(就像是只需要学生表的学号和姓名),开始根据其他人流传下来的代码风格,查询返回一个List,然后自己写代码遍历映射成Map,大量重复的无效率的工作实在是不堪其扰,抽空找了找资料发现可mybatis插入返回主键id
1、注解 @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") 2、xml关于mybatis的<selectKey>中的keyColumn
<mapper namespace="com.dao.EmployeeDao"> <insert id="insert"> <selectKey order="BEFORE" keyColumn="employeeId,employeeGender" keyProperty="employeeId,employeeGender" resultType=&qu一个对象进行添加之后能调用它的id吗?
答案是不加东西当然不能的,返回值直接返回一个null @Autowired private PriceRuleMapper priceRuleMapper; @Test public void contextLoads() { PriceRule priceRule=new PriceRule(); priceRule.setName("abc"); priceRuleMapper.insert(priceRule); System.Mybatis插入获取主键id值
@Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id",resultSets ="invitation" )