接着 上一篇文章 Mybatis入门案例图文详解01 继续往下深入
1.mybatis注解开发,在原来的UserDao接口里面的方法加上注解
2.修改SqlConfig.xml里的映射内容
、
3.需要删除原来的UserDao.xml这个文件,建议先备份一下,再进行删除;之后运行程序同样查询出来
4. 还原回之前用xml的方式,去掉UserDao接口的注解,修改SqlConfig.xml映射,将删除的UserDao.xml复制回来
5.在UserDao接口增加 新增、修改、删除用户方法
6.在UserDao.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">
<!--namespace 对应自己包和dao-->
<mapper namespace="com.jumpin.dao.UserDao">
<!--配置查询所有 id对应方法名 resultType返回的参数 -->
<select id="findAll" resultType="com.jumpin.domain.User">
select * from user
</select>
<!--新增用户 parameterType代表传递进来的参数-->
<insert id="addUser" parameterType="com.jumpin.domain.User" >
insert into user values (#{id},#{username},#{birthday},#{sex},#{address})
</insert>
<!--修改用户-->
<update id="updateUser" parameterType="com.jumpin.domain.User">
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
</update>
<!--删除用户-->
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where id = #{userId}
</delete>
</mapper>
7. 将之前的测试类UserTest进行调整,方便测试多个方法
package com.jumpin.test;
import com.jumpin.dao.UserDao;
import com.jumpin.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
public class UserTest {
InputStream in;
SqlSession session;
UserDao userDao;
@Before //用于在调试方法执行之前执行
public void init()throws Exception{
//1.读取配置文件
in = Resources.getResourceAsStream("SqlConfig.xml");
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = factoryBuilder.build(in);
//3.使用工厂生产SqlSession对象
session = factory.openSession();
//4.使用SqlSession创建Dao接口的代理对象
userDao= session.getMapper(UserDao.class);
}
@After //用于在调试方法执行之后执行
public void destory() throws Exception{
//提交事务
session.commit();
//7.释放资源
session.close();
in.close();
}
@Test
public void findALL(){
//5.使用代理对象执行方法
List<User> users = userDao.findAll();
//6.遍历打印用户信息
for(User user: users){
System.out.println(user);
}
}
@Test
public void saveUser(){
User user = new User();
user.setId(1);
user.setUsername("小小");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("广东深圳");
userDao.addUser(user);
}
@Test
public void updateUser(){
User user = new User();
user.setId(1);
user.setUsername("莫小小");
user.setBirthday(new Date());
user.setSex("女");
user.setAddress("广东东莞");
userDao.updateUser(user);
}
@Test
public void deleteUser(){
userDao.deleteUser(1);
}
}
8.自己运行方法后看数据库是否变化,增、删、查、改已经讲完了,入门案例算写完了!感谢支持,有不懂的可以在评论区里留言!