mybatis achieve increased data back to the main key

public interface UserMapper {
    
    public int insertUser(User user) throws Exception;
    
}
 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cn.pojo.UserMapper">
    <select id="count" resultType="com.cn.pojo.User">

        select * from smbms_user

    </select>

    <insert id="insertUser" parameterType="com.cn.pojo.User"
        keyProperty="id" useGeneratedKeys="true">

        insert into smbms_user(userName) values(#{userName})

        <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">

            SELECT LAST_INSERT_ID()

        </selectKey>

    </insert>

</mapper>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
                         "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="databases.properties" />

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/cn/pojo/UserMapper.xml" />
    </mappers>
</configuration>

@Test
    public void insertMethod() {

        try {
            String resource = "mybatis-config.xml";

            InputStream is = Resources.getResourceAsStream(resource);
            SqlSessionFactory factory = new SqlSessionFactoryBuilder()
                    .build(is);
            SqlSession sqlSession = factory.openSession();
            User user = new User();
            user.setUserName("一吕二赵三张飞");
            
            int ni = sqlSession.getMapper(UserMapper.class).insertUser(user);
            logger.info("返回的id:"+user.getId());
            logger.debug(ni);
            sqlSession.commit();
            sqlSession.close();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }

Published 40 original articles · won praise 7 · views 10000 +

Guess you like

Origin blog.csdn.net/sj_1993/article/details/103092460