1. 程式人生 > >mybaits 配置insert 主鍵自動增長失效原因

mybaits 配置insert 主鍵自動增長失效原因

初次涉獵mybaits 框架和mysql 資料庫導致框架使用出現很多的低階失誤,在此分享給大家避免此類錯誤:

配置檔案

<insert id="insertUser1" parameterType="domain.User"
 useGeneratedKeys="true"  keyProperty="ID">
 </insert>

javabean

public class User {
    private  Integer id ;
    private String username;
    private Date birthday;
    private
int sex; private String address; . . .

測試類

    public void insertData() throws Exception{
        //通過sqlSessionFactory工廠來生成sqlSessioin
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //namespace+sql語句的ID

        User user = new User();
        user.setUsername
("NB1121"); user.setBirthday(new Date()); user.setSex(1); //user.setId(1231); user.setAddress("遼寧瀋陽"); sqlSession.insert("test.insertUser", user); System.out.println(user.getId()); sqlSession.commit(); sqlSession.close(); System.out
.println(total); }

* 出現了 以下兩種錯誤*

  1. mybaits 設定為主鍵自增長,但是每次插入插入的主鍵都是0導致主鍵衝突
  2. 插入時主鍵為空。
  1. 第一種情況 是因為mysql資料庫建表的時候沒有設定為主鍵自動增長
    這裡寫圖片描述
    2.插入主鍵為空的原因是因為id 主鍵的型別為Integer 不是int原生型別,插入時沒能自動拆箱、所以就將主鍵設定為空了。(應該是這樣)