架构:
实体类,工具类和mybatis-config.xml和02一样,不用改了。要实现其他业务代码,主要修改UserMapper.xml
import java.util.List;
public interface UserDao {
List<User> getUser();//查询所有用户信息
User getUserByID(int id);//根据ID查询用户
int addUser(User user);//插入用户
int deleteUser(int id);
int updateUser(User user);
}
<?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"> <!--namespace=绑定一个对应的Dao/Mapper接口--> <mapper namespace="com.wjc.dao.UserDao"> <!-- 查询语句,绑定查询方法--> <select id="getUser" resultType="com.wjc.pojo.User"> select * from mybatis.user </select> <select id="getUserByID" parameterType="int" resultType="com.wjc.pojo.User"> select * from mybatis.user where id=#{id} </select> <insert id="addUser" parameterType="com.wjc.pojo.User" > insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd}) </insert> <update id="updateUser" parameterType="com.wjc.pojo.User"> update mybatis.user set user.name=#{name},user.pwd=#{pwd} where id=#{id} </update> <delete id="deleteUser" parameterType="int" > delete from user where id=#{id} </delete> </mapper>
import java.util.List;
public class UserDaoTest {
@Test
public void userdaotest(){
//1.获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//2.方式一:getMapper
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> user = userDao.getUser();
for (User user1 : user) {
System.out.println(user1);
}
//3.关闭sqlSession
sqlSession.close();
}
@Test
public void getUserByID(){
//1.获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//2.方式一:getMapper
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = userDao.getUserByID(1);
System.out.println(user);
//3.关闭sqlSession
sqlSession.close();
}
//注意:增删改必须提交事务
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int wuyu = userDao.addUser(new User(4, "xiaoxing", "12123"));
if(wuyu>0){
System.out.println("插入成功");
}
sqlSession.commit();//提交事务
sqlSession.close();
}
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int update = userDao.updateUser(new User(4, "小小", "112"));
if(update>0){
System.out.println("更新成功");
}
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int i = userDao.deleteUser(4);
if(i>0){
System.out.println("删除成功");
}
sqlSession.commit();
sqlSession.close();
}
}
注意到:增删改操作必须提交事务!!!否则数据无法执行到数据库中!!