上一篇博文MyBatis快速入门(一)中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。
一、使用MyBatis对表执行CRUD操作——基于XML的实现
1、定义sql映射xml文件
userMapper.xml文件的内容如下
<?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,namespace的值习惯上设置成包名+sql映射文件名,
这样就能够保证namespace的值是唯一的
例如namespace="userMapper"userMapper(userMapper.xml文
件去除后缀)
-->
<mapper namespace="userMapper">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,
不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="com.mybatis.study.entity.User"就表示将查询结果封装成一个User类的对象返回
User类就是users表所对应的实体类
-->
<!--
根据id查询得到一个user对象
-->
<select id="getUser" parameterType="int"
resultType="com.mybatis.study.entity.User">
select * from users where id=#{id}
</select>
<!-- 创建用户(Create) -->
<insert id="addUser" parameterType="com.mybatis.study.entity.User">
insert into users(name,age) values(#{name},#{age})
</insert>
<!-- 删除用户(Remove) -->
<delete id="deleteUser" parameterType="int">
delete from users where id=#{id}
</delete>
<!-- 修改用户(Update) -->
<update id="updateUser" parameterType="com.mybatis.study.entity.User">
update users set name=#{name},age=#{age} where id=#{id}
</update>
<!-- 查询全部用户-->
<select id="getAllUsers" resultType="com.mybatis.study.entity.User">
select * from users
</select>
</mapper>
单元测试类代码如下:
【用户添加】:
package com.mybatis.study.test;
import com.mybatis.study.entity.User;
import com.mybatis.study.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* 使用MyBatis进行CRUD测试
*/
public class TestCRUD {
@Before
public