准备工作
见上一篇博客mybatis入门
CRUD
- 增
dao接口:public boolean addUser(User user);
dao中.xml映射
<insert id="addUser" parameterType="cn.edu.hbue.wmp.entity.User">
insert into mybatis.user(id, userName, pwd) values(#{id},#{userName},#{pwd})
</insert>
也可以改为如下,只是在配置文件中要加入<typeAliases>
起别名
<insert id="addUser" parameterType="User">
insert into mybatis.user(id, userName, pwd) values(#{id},#{userName},#{pwd})
</insert>
注意:增删改在测试时要提交事务
@Test
public void addUserTest(){
//1.获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User(11,"小刘","123456");
userMapper.addUser(user);
//提交事务
sqlSession.commit();
//关闭sqlSession
sqlSession.close();
}
- 删
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id}
</delete>
- 改
<update id="updateUser" parameterType="cn.edu.hbue.wmp.entity.User">
update mybatis.user
set userName = #{userName},pwd = #{pwd}
where id = #{id};
</update>
- 查
普通查询:见上篇文章:mybatis入门
模糊查询:
接口
//模糊查询
List<User> getUserLike(String value);
xml映射
<select id="getUserLike" resultType="User">
select * from mybatis.user where userName like #{value}
</select>
测试类
List<User> user = userMapper.getUserLike("%刘%");
万能map
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!
boolean addUser2(Map<String,Object> map);
<!--对象中的属性,可以直接取出来 传递map的key-->
<insert id="addUser" parameterType="map">
insert into mybatis.user (id, pwd) values (#{userid},#{passWord});
</insert>
Map<String, Object> map = new HashMap<String, Object>();
map.put("userid",5);
map.put("passWord","2222333");
mapper.addUser2(map);