目录
1. 什么是CRUD
此处摘取百度百科定义
CRUD是指在做计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
2. 使用MyBatis实现CURD
2.1 配置环境
此处可以参考MyBatis入门
2.2 实体类
public class User {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
}
2.3 添加(Create)
2.3.1在IUserDao接口类添加save方法
public interface IUserDao {
/**
* 添加用户
* @param user
* @return
*/
int save(User user);
}
2.3.2在IUserDao.xml文件中添加save方法定义
<insert id="save" parameterType="com.zl.entity.po.User">
<selectKey keyColumn="id" keyProperty="id" resultType="int">
select last_insert_id();
</selectKey>
insert into user (username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})
</insert>
注:<selectKey>用于返回新增记录的id
2.3.3 编写测试方法
@Test
public void testSave(){
User user=new User();
user.setUsername("test");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("广东");
userDao.save(user);
System.out.println(user.getId());
}
测试结果如下图所示
2.4 读取(Read)
这里以id查询作为例子
2.4.1在IUserDao接口类添加testFindById方法
public interface IUserDao {
/**
* 根据 id 查询
* @param userId
* @return
*/
User findById(Integer userId);
}
2.4.2在IUserDao.xml文件中添加testFindById方法定义
<select id="findById" resultType="com.zl.entity.po.User" parameterType="int">
select * from user where id=#{uid}
</select>
2.4.3 编写测试方法
@Test
public void testFindById(){
User user = userDao.findById(55);
System.out.println(user);
}
测试结果如下图所示
2.5更新(Update)
2.5.1在IUserDao接口类添加testFindById方法
public interface IUserDao {
/**
* 更新用户
* @param user
* @return
*/
int update(User user);
}
2.5.2在IUserDao.xml文件中添加testFindById方法定义
<update id="update" parameterType="com.zl.entity.po.User">
update user set
<if test="username!=null and username!=''" >
username=#{username},
</if>
<if test="birthday!=null">
birthday=#{birthday},
</if>
<if test="sex!=null and sex!=''">
sex=#{sex},
</if>
<if test="address!=null">
address=#{address}
</if>
where id =#{id}
</update>
2.5.3 编写测试方法
@Test
public void testUpdate(){
User user = userDao.findById(55);
System.out.println(user);
user.setUsername("test");
user.setBirthday(new Date());
int isSuccess = userDao.update(user);
if(isSuccess>0){
System.out.println("更新成功");
System.out.println(user);
}
}
测试结果如下图所示
2.6 删除(Delete)
这里以通过id删除作为例子
2.6.1在IUserDao接口类添加deleteById方法
public interface IUserDao {
/**
* 根据Id删除
* @param id
* @returnd
*/
int deleteById(int id);
}
2.6.2在IUserDao.xml文件中添加deleteById方法定义
<delete id="deleteById" parameterType="int">
delete from user where id=#{id}
</delete>
2.6.3 编写测试方法
@Test
public void testDelete(){
int isSuccess= userDao.deleteById(52);
if(isSuccess==1){
System.out.println("删除成功");
}
}
测试结果如下图所示