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

  • 相关阅读:
    CodeForces gym Nasta Rabbara lct
    bzoj 4025 二分图 lct
    CodeForces 785E Anton and Permutation
    bzoj 3669 魔法森林
    模板汇总——快读 fread
    bzoj2049 Cave 洞穴勘测 lct
    bzoj 2002 弹飞绵羊 lct裸题
    HDU 6394 Tree 分块 || lct
    HDU 6364 Ringland
    nyoj221_Tree_subsequent_traversal
  • 原文地址:https://www.cnblogs.com/xiohao/p/4704373.html
Copyright © 2011-2022 走看看