MyBatis の主キーの自動インクリメントと [java.sql.SQLException: フィールド 'id' にはデフォルト値がありません]

マッパー

2 つのプロパティを追加します: useGeneratedKeys="true" keyProperty="id"

<insert id="add" parameterType="Project" useGeneratedKeys="true" keyProperty="id">
        insert into project (name, description, level, picture, deleted, create_time, update_time, version)
        value (#{name}, #{description}, #{level}, #{picture}, #{deleted}, #{createTime}, #{updateTime},#{version} );
    </insert>

テスト

@Test
    public void ddTest(){
        Project project = new Project();
        project.setName("计算机网络");
        project.setDeleted(0);
        project.setCreateTime(new Date());
        project.setDescription("这是一个描述");
        project.setLevel(1);
        project.setPicture("www.baidu.com");
        project.setUpdateTime(new Date());
        project.setVersion(1);

        boolean add = projectService.add(project);
        System.out.println(add);

    }

エラー:

その理由は、mybatis の主キーの自動インクリメントがオンになっているにもかかわらず、データベースがそれを購入しないため、自動インクリメントを有効にするように手動で設定する必要があるためです。

 

 

 

おすすめ

転載: blog.csdn.net/qq_33189961/article/details/116939980