您现在的位置是:首页 > 个人日记个人日记

mybatis-04-输入输出映射

2019-02-02 15:57:14【个人日记】126人已围观

简介将数据库与JavaBean相对于,映射为对象

输入输出映射

输入映射

配置Mapper.xml文件

  1. <!--多条件查询-->
  2. <select id="find" parameterType="java.util.Map" resultType="com.huangxin.model.ProductCategory">
  3. SELECT * FROM product WHERE supplier LIKE '%${brand}%' AND id <![CDATA[< #{id}]]><!--原样输出-->
  4. </select>
  5. <!--查询所有-->
  6. <select id="All" resultType="java.util.Map">
  7. SELECT * FROM product
  8. </select>

对应的Junit规范

  1. private SqlSessionFactory factory;
  2. /**
  3. * 初始化SqlSession工厂
  4. *
  5. * @throws IOException
  6. */
  7. @Before
  8. public void init() throws IOException {
  9. //将全局配置文件读取
  10. InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
  11. factory = new SqlSessionFactoryBuilder().build(in);
  12. }
  13. @Test
  14. public void find() {
  15. Map<String, Object> map = new HashMap<String, Object>();
  16. map.put("brand", "未知");
  17. map.put("id", 5);
  18. SqlSession sqlSession = factory.openSession();
  19. //通过mybatis的动态代理机制,生成了一个ProductCategory接口实现类
  20. ProductCategoryMapper mapper = sqlSession.getMapper(ProductCategoryMapper.class);
  21. System.out.println(mapper.find(map));
  22. }
  23. @Test
  24. public void All() {
  25. SqlSession sqlSession = factory.openSession();
  26. ProductCategoryMapper mapper = sqlSession.getMapper(ProductCategoryMapper.class);
  27. List<Map<String, Object>> lists = mapper.All();
  28. sqlSession.close();
  29. for (Map<String, Object> map : lists) {
  30. for (String key: map.keySet()){
  31. System.out.println(key+"-->"+map.get(key));
  32. }
  33. }
  34. }

输出输出映射特点

输入 parameterType

1) 基本数据类型 "java.unit.Long"...
2) 对象封装"com...model"

> 3) Map封装

输出 resultType

1) 基本数据类型"java.unit.Long"...
2) 对象封装

> 3) Map封装输出

适应场合

1) 基本数据类型用单条数据查询
2) 对象封装用于一一对应,结果单一的查询
3) Map用于多条件查询和输出, 比较灵活.运用较多

Tags: JavaWeb  

评论区

    2020-08-05 04:08:31

    站长

    没有登录功能是为了方便大家留言,但留言接口现在被恶意攻击,将关闭留言接口,如有疑问,请联系我的QQ 1538933906/同微信


文章评论



给自个选个头像吧!






站点信息

  • 建站时间:   2019-01-31
  • 网站程序:   Tomcat+nginx
  • 文章统计:   44篇文章
  • 标签管理:   标签云
  • 微信公众号:  扫描二维码,联系我