Mybatis第二天 使用MyBatis进行CRUD操作
程序员文章站
2022-05-15 10:57:49
...
1.准备工作
-
**创建工程
-
导入jar包(maven坐标)
-
创建一个实体(实体类和数据库的表对应)
-
创建接口,编写一个方法(接口UserDao.java)
-
编写配置文件(resources资源下,sqlMapConfig.xml)
-
编写映射文件(resources资源下,创建的包结果和接口的结构对应,UserDao.xml)
-
测试类(使用mybatis的api),操作查询所有**
-
2. 使用Junit重写UserDao.java
/**
* 测试mybatis的crud操作
*/
public class MybatisTest {
private InputStream in;
private SqlSession sqlSession;
private UserDao userDao;
@Before//用于在测试方法执行之前执行
public void init()throws Exception{
//1.读取配置文件,生成字节输入流
in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.获取SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.获取SqlSession对象
sqlSession = factory.openSession();
//4.获取dao的代理对象
userDao = sqlSession.getMapper(UserDao.class);
}
@After//用于在测试方法执行之后执行
public void destroy()throws Exception{
//提交事务
sqlSession.commit();
//6.释放资源
sqlSession.close();
in.close();
}
/**
* 测试查询所有
*/
@Test
public void testFindAll(){
//5.执行查询所有方法
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
/*
保存,删除,修改等操作
*/
}
3.进行CURD时的注意事项
3.1 事务处理
== 在进行增删改时需要进行事务处理,而mybatis内部会自动开启和回滚事务,
所以需要我们使用sqlSession.commit()来提交事务. ==
上一篇: java 获取当前季度
下一篇: 设计模式之代理模式简单实现