mybatis:insert返回自增主键,列名字段多单词拼接类型


   
   

Role.java实体类


    
    
  1. public class Role implements Serializable {
  2. private String roleId;
  3. private String name;
  4. private Integer status;
  5. public String getRoleId() {
  6. return roleId;
  7. }
  8. public void setRoleId(String roleId) {
  9. this.roleId = roleId;
  10. }
  11. public String getName() {
  12. return name;
  13. }
  14. public void setName(String name) {
  15. this.name = name;
  16. }
  17. public Integer getStatus() {
  18. return status;
  19. }
  20. public void setStatus(Integer status) {
  21. this.status = status;
  22. }
  23. }

SysRoleDao.java


   
   
  1. public interface SysRoleDao {
  2. public int addRole(SysRole role);
  3. }

mapper-role.xml


   
   

    
    
  1. <insert id="addRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId" keyColumn="role_id">
  2. insert into t_sys_role(
  3. name,status
  4. )
  5. values(
  6.         #{name,jdbcType=VARCHAR},
  7. #{status,jdbcType=VARCHAR},
  8. )
  9. </insert>
注:
1、添加记录能够返回主键的关键点在于需要在<insert>标签中添加以下三个属性<insert useGeneratedKeys="true" keyProperty="id" keyColumn="id"></insert>。
useGeneratedKeys:必须设置为true,否则无法获取到主键id。
keyProperty:设置为POJO对象的主键id属性名称。
keyColumn:设置为数据库记录的主键id字段名称
2、新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段设置为POJO对象的主键id属性

TestDao.java


   
   
  1. @RunWith(SpringJUnit4ClassRunner.class)
  2. @ContextConfiguration(locations= {"classpath:config/spring-core.xml","classpath:config/spring-web.xml"})
  3. public class TestDao{
  4. @Autowired
  5. SysRoleDao roleDao;
  6. @Test
  7. public void test() {
  8. SysRole role=new SysRole();
  9. role.setName("admin10");
  10. role.setStatus(1);
  11. System.out.println("返回结果:"+roleDao.addRole(role));
  12. System.out.println("主键id:"+role.getRoleId());
  13. }
  14. }
打印结果

   
   
  1. 返回结果:1
  2. 主键id:12
参考链接: https://www.cnblogs.com/nuccch/p/7687281.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值