增
在搭建好环境的基础上【上一篇有搭建环境详细介绍】
- 在dao中创建一个抽象方法
public interface UserDao{
//用户保存的方法,保存一个
int saveUser(User user);
}
- 在映射配置文件写SQL语句 【每个Dao都应该有一个对应的映射文件】
<?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.yixuexi.dao.UserDao">
<select id="saveUser" parameterType="com.yixuexi.entity.User">
insert into tbl_user(name,age) values(#{name},#{age})
</select>
</mapper>
注意事项
- namespace:dao接口的全限定类名
- id:接口中的方法名
- parameterType:对应的实体类,MyBatis通过ognl表达式解析对象属性的值
- #{属性名}: 通过 #{}表达式来获取属性值
- 在主配置文件中配置一下映射文件
<mappers>
<mapper resources="com/yixuexi/dao/UserDaoMapper.xml">
</mappers>
注意事项:
- 因为mapper文件是在resources目录下,所以用 / 分开 【当初这个坑,楼主踩的明明白白】
- 然后执行测试方法
切记:MyBatis的autoCommit为false,也就是说在完成之后必须调用sqlSession.commit(); 方法进行提交
删
在搭建好环境的基础上【上一篇有搭建环境详细介绍】
- 在dao中创建一个抽象方法
public interface UserDao{
//用户删除的方法,根据id删除
int deleteUser(Integer id);
}
- 在映射文件中写SQL语句
<?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.yixuexi.dao.UserDao">
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from tbl_user where id = #{id}
</select>
</mapper>
- 在主配置文件中配置映射文件
同上 - 在测试类中写测试方法
因为是DML语句,所以需要sqlSession.commit() 【不要忘记】
改
在搭建好环境的基础上【上一篇有搭建环境详细介绍】
- 在dao中创建一个抽象方法
public interface UserDao{
//用户更改的方法
int updateUser(User user);
}
- 在映射文件中写SQL
<?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.yixuexi.dao.UserDao">
<update id="updateUser" parameterType="com.yixuexi.entity.User">
update tbl_user set name=#{name}, age=#{age} where id=#{id}
</update>
</mapper>
- 在主配置文件中配置
同上 - 在测试类中写测试方法
因为是DML语句,所以需要sqlSession.commit() 【不要忘记】
下一篇更新:保存操作的细节,保存完后得到自增的id