Mybatis中输入输出映射和动态Sql

 一、输入映射

  我们通过配置parameterType的值来指定输入参数的类型,这些类型可以是简单数据类型、POJO、HashMap等数据类型

  1、简单类型

  2、POJO包装类型

  ①这是单表查询的时候传入的POJO包装类型,即可以直接传入实体类,但是当多表查询的时候,就需要自定义POJO类型

  ②我们使用自定义POJO类型来具体的了解一下

  先设计 包装类型如下,其中UserPOJO是除了User本身之外的添加的其他跟User相关的属性的包装类,UserVo是用于视图层面的包装类型,同样也是作为Mapper配置文件的输入类型

  其中User文件同上一篇 UserPOJO

 

 

  然后我们配置UserMapper.xml文件

  然后在UserMapper接口文件中添加

复制代码
    //测试包装类型的查询    public List<UserPoJo> findUserList(UserVo userVo) throws Exception;
复制代码

  使用Junit测试刚刚做的配置

复制代码
 1     @Test  2     public void testFindUserList() throws Exception {  3         SqlSession sqlSession = sqlSessionFactory.openSession();  4         UserMapper userMapper = sqlSession.getMapper(UserMapper.class);  5  6         UserPoJo userPoJo = new UserPoJo();  7         UserVo userVo = new UserVo();  8         userPoJo.setSex("男");  9         userPoJo.setUsername("u"); 10         userVo.setUserPoJo(userPoJo); 11 12         List<UserPoJo> userPoJoList = userMapper.findUserList(userVo); 13 14         System.out.println(userPoJoList); 15     }
复制代码

  最后结果如下

 

二、输出映射

1、resultType

①在使用resultType进行映射的时候,只有查询出来的列名和包装类型中的属性名一致的时候,才会映射成功

②当使用简单类型作为输出映射的时候,我们需要保证Sql查询的结果只有一行一列,这样就可以使用简单类型

如下所示示例

复制代码
SELECT COUNT(*) FROM t_user  SELECT username FROM t_user WHERE id = 2
复制代码

 

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信