<?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.itheima.dao.IUserDao"><!-- 查询所有 --><select id="findAll" resultType="com.itheima.domain.User">
select * from user;</select><!-- 保存用户 --><insert id="saveUser" parameterType="com.itheima.domain.User"><!-- 配置插入操作后,获取插入数据的id --><selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
select last_insert_id();</selectKey>
insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday});</insert><!-- 更新用户 --><update id="updateUser" parameterType="com.itheima.domain.User">
update user set username=#{username},address=#{address},sex=#{sex},birthday=#{birthday} where id=#{id}</update><!-- 删除用户--><delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where id = #{uid}</delete><!-- 根据id查询用户 --><select id="findById" parameterType="INT" resultType="com.itheima.domain.User">
select * from user where id = #{uid}</select><!-- 根据名称模糊查询 --><select id="findByName" parameterType="string" resultType="com.itheima.domain.User">
select * from user where username like #{name}</select><!-- 获取用户的总记录条数 --><select id="findTotal" resultType="int">
select count(id) from user;</select></mapper>
测试类
publicclassMybatisTest{private InputStream in;private IUserDao userDao;@Before//用于在测试方法执行之前执行publicvoidinit()throws Exception{//1.读取配置文件,生成字节输入流
in = Resources.getResourceAsStream("SqlMapConfig.xml");//2.获取SqlSessionFactory
SqlSessionFactory factory =newSqlSessionFactoryBuilder().build(in);//3.使用工厂对象,创建dao对象
userDao =newUserDaoImpl(factory);}@After//用于在测试方法执行之后执行publicvoiddestroy()throws Exception{//6.释放资源
in.close();}/**
* 测试查询所有
*/@TestpublicvoidtestFindAll(){//5.执行查询所有方法
List<User> users = userDao.findAll();for(User user : users){
System.out.println(user);}}/**
* 测试保存操作
*/@TestpublicvoidtestSave(){
User user =newUser();
user.setUsername("dao impl user");
user.setAddress("北京市顺义区");
user.setSex("男");
user.setBirthday(newDate());
System.out.println("保存操作之前:"+user);//5.执行保存方法
userDao.saveUser(user);
System.out.println("保存操作之后:"+user);}/**
* 测试更新操作
*/@TestpublicvoidtestUpdate(){
User user =newUser();
user.setId(50);
user.setUsername("userdaoimpl update user");
user.setAddress("北京市顺义区");
user.setSex("女");
user.setBirthday(newDate());//5.执行保存方法
userDao.updateUser(user);}/**
* 测试删除操作
*/@TestpublicvoidtestDelete(){//5.执行删除方法
userDao.deleteUser(54);}/**
* 测试删除操作
*/@TestpublicvoidtestFindOne(){//5.执行查询一个方法
User user = userDao.findById(50);
System.out.println(user);}/**
* 测试模糊查询操作
*/@TestpublicvoidtestFindByName(){//5.执行查询一个方法
List<User> users = userDao.findByName("%王%");for(User user : users){
System.out.println(user);}}/**
* 测试查询总记录条数
*/@TestpublicvoidtestFindTotal(){//5.执行查询一个方法int count = userDao.findTotal();
System.out.println(count);}}