1、新建一个UserMapper接口,接口中的方法与userMapper.xml中的sql命令标签的id一致。接口类和.xml文件、和user实体类默认在同一个包内。
如:<select id="selectUser" parameterType="int" resultType="model.User">
select * from user where id = #{id}
</select>
id为selectUser,所以接口中的方法名称也是selectUser
2、UserMapper接口代码
package javastudy;
import java.util.List;
public interface UserMapper {
public User selectUser(int id);
public List<User> selectAll();
public void addUser(User user);
public void updateUser(User user);
public void deleteUser(int id);
}
3、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="javastudy.UserMapper">
<select id="selectUser" resultType="javastudy.User">
select * from user where id = #{id}
</select>
<select id="selectAll" resultType="javastudy.User">
select * from user
</select>
<insert id="addUser" parameterType="javastudy.User">
insert into user (userName,userPwd) values (#{userName},#{userPwd})
</insert>
<update id="updateUser" parameterType="javastudy.User">
update user set userName=#{userName},userPwd=#{userPwd} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
4、修改mybatis-config.xml配置文件。
<mappers>
<!-- 接口配置 -->
<mapper class="javastudy.UserMapper"/>
</mappers>
5、Junit test case类代码
package test;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import javastudy.User;
import javastudy.UserMapper;
import utility.MyBatisUtils;
public class MyTest {
@Test
public void testSelect() throws IOException {
SqlSession session=MyBatisUtils.openSession();
UserMapper userMapper=session.getMapper(UserMapper.class);
User user=userMapper.selectUser(1);
System.out.println(user);
session.close();
}
@Test
public void testSelectAll() throws IOException {
SqlSession session=MyBatisUtils.openSession();
UserMapper userMapper=session.getMapper(UserMapper.class);
List<User> list=userMapper.selectAll();
System.out.println(list);
session.close();
}
@Test
public void testInsert() throws IOException {
SqlSession session=MyBatisUtils.openSession();
UserMapper userMapper=session.getMapper(UserMapper.class);
User user=new User();
user.setUserName("tangbin");
user.setUserPwd("168888");
userMapper.addUser(user);
session.commit();
session.close();
}
@Test
public void testUpdate() throws IOException {
SqlSession session=MyBatisUtils.openSession();
UserMapper userMapper=session.getMapper(UserMapper.class);
User user=new User();
user.setId(4);
user.setUserName("王五");
user.setUserPwd("wangwu123456");
userMapper.updateUser(user);
session.commit();
session.close();
}
@Test
public void testDelete() throws IOException {
SqlSession session=MyBatisUtils.openSession();
UserMapper userMapper=session.getMapper(UserMapper.class);
userMapper.deleteUser(5);
session.commit();
session.close();
}
}