插入(添加)操作
在持久层接口(UserDao)中添加如下操作:
/**
* 保存用户
* @param user
*/
void saveUser(User user);
在UserDao的映射文件中添加如下内容:
<mapper namespace="com.zfnotes.dao.UserDao">
<!--保存用户-->
<insert id="saveUser" parameterType="com.zfnotes.beans.User">
insert into user(username, address, sex, birthday) value (#{username}, #{address}, #{sex}, #{birthday});
</insert>
</mapper>
详解:
- namespace: 使用完全限定类名表示是哪个接口的映射文件。
- id:为namespace限定的接口中的方法名。
- parameterType:接口中方法的参数类型,可以使用别名,也可以使用完全限定类名,也可以不用配置,因为MyBatis会自动推断出传入参数的类型。
- #{} : 用来获取传入的参数中的属性的值,其底层是通过反射机制,调用bean类对应属性的getter方法来获取值。
insert
标签:在其内部书写插入语句。
修改我们的测试类,使用junit
,添加相应的注解,各注解的含义见代码,修改结果如下:
package com.zfnotes.test;
import com.zfnotes.beans.User;
import com.zfnotes.dao.UserDao;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session