zoukankan      html  css  js  c++  java
  • Mybatis+Mysql 返回主键的值

    需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

    方法:在mapper中指定keyProperty属性,示例如下:

    Xml代码 复制代码 收藏代码
    1. <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">  
    2.     insert into user(userName,password,comment)  
    3.     values(#{userName},#{password},#{comment})  
    4. </insert>  
    <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
    	insert into user(userName,password,comment)
    	values(#{userName},#{password},#{comment})
    </insert>

     如上所示,我们在insert中指定了keyProperty="userId",其中userId代表插入的User对象的主键属性。

    User.java

    Java代码 复制代码 收藏代码
    1. public class User {  
    2.     private int userId;  
    3.     private String userName;  
    4.     private String password;  
    5.     private String comment;  
    6.       
    7.     //setter and getter  
    8. }  
    public class User {
    	private int userId;
    	private String userName;
    	private String password;
    	private String comment;
    	
    	//setter and getter
    }
    

     UserDao.java

    Java代码 复制代码 收藏代码
    1. public interface UserDao {  
    2.   
    3.     public int insertAndGetId(User user);  
    4.   
    5. }  
    public interface UserDao {
    
    	public int insertAndGetId(User user);
    
    }

     测试:

    Java代码 复制代码 收藏代码
    1. User user = new User();  
    2. user.setUserName("chenzhou");  
    3. user.setPassword("xxxx");  
    4. user.setComment("测试插入数据返回主键功能");  
    5.   
    6. System.out.println("插入前主键为:"+user.getUserId());  
    7. userDao.insertAndGetId(user);//插入操作  
    8. System.out.println("插入后主键为:"+user.getUserId());  
    User user = new User();
    user.setUserName("chenzhou");
    user.setPassword("xxxx");
    user.setComment("测试插入数据返回主键功能");
    
    System.out.println("插入前主键为:"+user.getUserId());
    userDao.insertAndGetId(user);//插入操作
    System.out.println("插入后主键为:"+user.getUserId());

     输出:

    Shell代码 复制代码 收藏代码
    1. 插入前主键为:0  
    2. 插入后主键为:15  
    插入前主键为:0
    插入后主键为:15

     查询数据库:

    如上所示,刚刚插入的记录主键id为15

  • 相关阅读:
    你读了该博客中哪些超链接?有何感想
    最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助?
    1500802028 王莉娟
    解码方法
    N皇后问题
    两个链表的交叉
    全排列
    交叉字符串
    翻转链表
    爬楼梯
  • 原文地址:https://www.cnblogs.com/xiohao/p/4704373.html
Copyright © 2011-2022 走看看