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

  • 相关阅读:
    《数据通信与网络》笔记--数据链路层的成帧
    设计模式10---设计模式之原型模式(Prototype)
    Yii 控制dropdownlist / select 控件的宽度和 option 的宽度
    [置顶] 如何vs在cocos2dx项目中打印中文
    mongodb实现简单的增删改查
    北京和硅谷在创新方面的区别
    Android 解决Gallery下ScrollView滑动事件冲突
    Java 授权内幕--转载
    JAVA 上加密算法的实现用例---转载
    基于事件的 NIO 多线程服务器--转载
  • 原文地址:https://www.cnblogs.com/xiohao/p/4704373.html
Copyright © 2011-2022 走看看