在MybatisTest.java中,实现testFindUserInfoByUserName ():通过sqlSession调用selectList方法执行映射文件UserInfoMapper.xml中定义的SQL,并返回映射结果;将查询结果输出到控制台;
时间: 2024-02-23 10:01:47 浏览: 147
好的,我可以帮你解答这个问题。
与上一个问题类似,我们也需要编写一个测试方法testFindUserInfoByUserName()来实现这个功能。具体代码如下:
```java
@Test
public void testFindUserInfoByUserName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserInfoMapper userInfoMapper = sqlSession.getMapper(UserInfoMapper.class);
List<UserInfo> userInfoList = userInfoMapper.findUserInfoByUserName("张三");
for (UserInfo userInfo : userInfoList) {
System.out.println(userInfo);
}
sqlSession.close();
}
```
在这个测试方法中,我们同样通过MybatisUtil工具类获取SqlSession对象,然后通过SqlSession对象的getMapper方法获取UserInfoMapper接口的实现类对象userInfoMapper。
接着,我们调用userInfoMapper的findUserInfoByUserName方法,传入参数"张三",即可执行UserInfoMapper.xml中定义的SQL语句,并返回查询结果列表。
最后,我们通过遍历查询结果列表,将每个UserInfo对象输出到控制台上,关闭SqlSession对象即可。
需要注意的是,在UserInfoMapper.xml中,我们需要定义一个结果集映射,将查询结果映射到UserInfo对象上,如下所示:
```xml
<!-- 根据用户名查询用户信息 -->
<select id="findUserInfoByUserName" resultType="com.example.model.UserInfo">
SELECT * FROM user_info WHERE user_name = #{userName}
</select>
```
希望能够帮助到你!
阅读全文