数据库中的表

dao类
//组件
@Repository
public class TuserDaoImpl implements TuserDao {
Connection connection = JDBCUtils.getConnection();
//注入模板对象
@Autowired
private JdbcTemplate jdbcTemplate;
/*** sqring更改
* 用户登录
* @param username
* @param password
* @return
*/
@Override
public Tuser login(String username, String password) {
String sql = "select id,username,password,email,role,flag,supercar from t_user where username=? and password=?";
// 处理成RS结果集对象,查询单条数据用queryForObject,集合用query
Tuser tuser = jdbcTemplate.queryForObject(sql,
(ResultSet rs, int rowNUm) -> {
return new Tuser(rs.getInt("id"),
rs.getString("username"),
rs.getString("password"),
rs.getString("email"),
rs.getInt("role"),
rs.getInt("flag"),
rs.getInt("supercar")
);
}
, username, password);
if(tuser==null) return null;
return tuser;
}
}
第一次测试类,本次测试输入的是正确的用户名和密码,返回的是一个对象
//测试类包目录 要和 容器类一样
//单元测试类
//指定当前测试环境为spring测试环境
@RunWith(SpringJUnit4ClassRunner.class)
// Context: 容器,上下文
@ContextConfiguration(classes = {AppConfig.class})
public class LoginTest {
@Autowired
private TuserDaoImpl tuserDao;
@Test
public void login(){
Tuser login = tuserDao.login("燃烧的西瓜", "e10adc3949ba59abbe56e057f20f883e");
System.out.println(login);
}
}
第一次测试类结果

=重点来了
第二次测试类,输入错误的用户名或密码,会出现报错
//测试类包目录 要和 容器类一样
//单元测试类
//指定当前测试环境为spring测试环境
@RunWith(SpringJUnit4ClassRunner.class)
// Context: 容器,上下文
@ContextConfiguration(classes = {AppConfig.class})
public class LoginTest {
@Autowired
private TuserDaoImpl tuserDao;
@Test
public void login(){
//dao中如果是错的用户名,该怎么不出现报错,而显示一个null
Tuser login = tuserDao.login("燃烧的西瓜1", "e10adc3949ba59abbe56e057f20f883e");
System.out.println(login);
}
}

报错图片

问:如果我在第二次测试类中,故意输入错误的用户名,会出现报错,如何让输入错误了用户名或密码不进行报错,
而是返回一个null