zoukankan      html  css  js  c++  java
  • MyBatis返回插入的主键ID(Mysql数据库)

    1.Java代码:

    1.1 entity类:

    User.java

    public class User {  

      private int userId;  

      private String userName;  

      private String password;  

      private String comment;  

      //这里要添加 setter and getter  略

    }  

    1.2 DAO类:

     UserDao.java

    public interface UserDao {  

      public int insertAndGetId(User user);  

    }  

    2.Xml代码 : 

    方法:在mapper中指定keyProperty属性,示例如下:(注意:这里不需要 resultType属性!)

    <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.test.mybatis.User">  
     insert into user(userName,password,comment) 
        values(#{userName},#{password},#{comment})  
    </insert>  

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

    说明:

    useGeneratedKeys: 取值范围 true | false 默认值是:false。 含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。

    keyProperty: 是JAVA对象的属性名(这里对应的是User.java的userId)。 

    3.  测试:

    Java代码  

      User user = new User();   
      user.setUserName("张三");   
      user.setPassword("xxxx");   
      user.setComment("测试插入数据返回主键功能");
      System.out.println("插入前主键为:"+user.getUserId());
      UserDao.insertAndGetId(user);//插入操作   
      System.out.println("插入后主键为:"+user.getUserId()); //注意:这里取的取值.

     

  • 相关阅读:
    VIE模式和IP
    背景色改为豆绿色
    Semantic Logging
    mysql 安装配置相关
    高德API相关
    vmware workstation 虚拟机安装vwmare tools
    sql server2012光盘中有management studio,安装时选择客户端。
    zz微软企业库
    zz flag attribute for enum
    zz 还要用存储过程吗
  • 原文地址:https://www.cnblogs.com/orac/p/7068292.html
Copyright © 2011-2022 走看看