其他和之前相同:user.xml
<insert id="insertUser" parameterType="com.mybatis.pojo.User" >
INSERT INTO USER
(`username`,
`birthday`,
`sex`,
`address`)
VALUES (#{username},
#{birthday},
#{sex},
#{address});
</insert>
自增返回:
<!-- useGeneratedKeys:标识插入使用自增id
keyProperty:与useGeneratedKeys配套使用,用于绑定主键接收的pojo属性
-->
<insert id="insertUserKey" parameterType="com.mybatis.pojo.User" useGeneratedKeys="true" keyProperty="id">
<!-- selectKey:用于配置主键返回
keyProperty:要绑定的pojo属性
resultType:属性数据类型
order:指定什么时候执行,AFTER之后
-->
<!-- <selectKey keyProperty="id" resultType="int" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey> -->
INSERT INTO USER
(`username`,
`birthday`,
`sex`,
`address`
)
VALUES (#{username},
#{birthday},
#{sex},
#{address}
);
</insert>
Mysql的uuid返回主键,在user类以及表中添加uuid1属性,
<insert id="insertUser" parameterType="com.mybatis.pojo.User">
<!-- selectKey:用于配置主键返回
keyProperty:要绑定的pojo属性
resultType:属性数据类型
order:指定什么时候执行,BEFORE之前
-->
<selectKey keyProperty="uuid1" resultType="string" order="BEFORE">
SELECT UUID()
</selectKey>
INSERT INTO USER
(`username`,
`birthday`,
`sex`,
`address`,
`uuid1`)
VALUES (#{username},
#{birthday},
#{sex},
#{address},
#{uuid1});
</insert>
test
@Test
public void testInsertUser() throws IOException {
// 创建SqlSession对象
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession();
User user = new User();
user.setUsername("张鸡儿");
user.setAddress("榆林土龙");
user.setBirthday(new Date());
user.setSex("1");
// 执行插入
sqlSession.insert("user.insertUser", user);
System.out.println(user);
// 提交事务
sqlSession.commit();
// 释放资源
sqlSession.close();
}