2-7 验证Dao

目录

1、在com.imooc.o2o.dao写接口

2、mybatis的mapper.xml进行接口的实现

3、测试


1、在com.imooc.o2o.dao写接口

2、mybatis的mapper.xml进行接口的实现

规定xml文件要遵循mybatis-3的规范

namespace里的内容是说明这个xml和AreaDao接口是对应的

<select>的 id是AreaDao接口的方法名,resultType是返回值类型

3、测试

创建新的目录

(1)建立BaseTest,作用是配置spring和junit整合,Junit启动时加载springIOC容器

@RanWith 是用SpringJUnit4ClassRunner.class这个类跑单元测试

@ContextConfiguration({"classpath:spring/spring-dao.xml","classpath:spring/spring-service.xml"})是告诉spring类启动要加载classpath下的哪些文件

报错:不能导入包

查阅问答解决方法

(2)让AreaDao继承BaseTest

这样AreaDao加载的时候会调用BaseTest的方法,加载spring-dao的配置文件,在@ContextConfiguration({"classpath:spring/spring-dao.xml"})

(3)编写AreaDaoTest

@Autowired 是将AreaDao注入进来。作用:告诉spring 这里想要用到某个对象,将它注入进来

assertEquals 是Junit的方法,判断是否与预期结果一致

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了验证Dao类的接口方法是否正确,我们需要编写测试用例来测试每个接口方法的功能和正确性。测试用例应该包括以下几个方面: 1. 测试插入数据的方法是否能够正确地将数据插入到数据库中。 2. 测试查询数据的方法是否能够正确地从数据库中查询数据。 3. 测试更新数据的方法是否能够正确地更新数据库中的数据。 4. 测试删除数据的方法是否能够正确地从数据库中删除数据。 在测试过程中,我们可以使用一些Java测试框架,比如JUnit或TestNG等,来编写测试用例,以保证测试的可靠性和稳定性。 下面是一个使用JUnit测试框架测试Dao类的示例代码: ``` public class UserDaoTest { private UserDao userDao; @Before public void setUp() { userDao = new UserDaoImpl(); } @Test public void testInsertUser() { // 创建一个User对象 User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setEmail("test@example.com"); // 插入该User对象到数据库中 userDao.insertUser(user); // 通过查询该User对象是否存在来验证插入操作是否成功 User resultUser = userDao.getUserById(user.getId()); assertNotNull(resultUser); assertEquals(user.getUsername(), resultUser.getUsername()); assertEquals(user.getPassword(), resultUser.getPassword()); assertEquals(user.getEmail(), resultUser.getEmail()); } @Test public void testUpdateUser() { // 先插入一个User对象到数据库中 User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setEmail("test@example.com"); userDao.insertUser(user); // 修改该User对象的密码 user.setPassword("12345678"); userDao.updateUser(user); // 通过查询该User对象的密码是否修改成功来验证更新操作是否成功 User resultUser = userDao.getUserById(user.getId()); assertNotNull(resultUser); assertEquals(user.getPassword(), resultUser.getPassword()); } @Test public void testDeleteUser() { // 先插入一个User对象到数据库中 User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setEmail("test@example.com"); userDao.insertUser(user); // 删除该User对象 userDao.deleteUser(user.getId()); // 通过查询该User对象是否存在来验证删除操作是否成功 User resultUser = userDao.getUserById(user.getId()); assertNull(resultUser); } @Test public void testGetUserById() { // 先插入一个User对象到数据库中 User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setEmail("test@example.com"); userDao.insertUser(user); // 通过查询该User对象是否存在来验证查询操作是否成功 User resultUser = userDao.getUserById(user.getId()); assertNotNull(resultUser); assertEquals(user.getUsername(), resultUser.getUsername()); assertEquals(user.getPassword(), resultUser.getPassword()); assertEquals(user.getEmail(), resultUser.getEmail()); } } ``` 在上面的示例代码中,我们先创建一个UserDao对象,并在@Before注解方法中进行初始化。然后,我们编写了四个测试用例,分别测试了插入、更新、删除和查询操作的功能和正确性。在每个测试用例中,我们先执行相应的操作,然后通过断言来验证操作是否成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值