mybatis(1)+(2)小结

标签: mybatis
26人阅读 评论(0) 收藏 举报
分类:

mybatis是什么?

mybatis是一人持久层框架,mybatis是一个不完全的ORM框架。sql语句需要程序员自己去编写,但是mybatis也有映射(输入参数映射、输出结果映射)。

mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语句上,对sql语句优化非常方便,适用与需求变化较多项目,比如互联网项目。

mybatis框架执行过程:

1、配置mybatis的配置文件,SqlMapConfig.xml(名称不固定),需要将配置文件引入 

                // mybatis配置文件
		String resource = "SqlMapConfig.xml";
		// 得到配置文件流
		InputStream inputStream = Resources.getResourceAsStream(resource);

2、通过配置文件,加载mybatis运行环境,创建SqlSessionFactory会话工厂

         SqlSessionFactory在实际使用时按单例方式。

3、通过SqlSessionFactory创建SqlSession

         SqlSession是一个面向用户接口(提供操作数据库方法),实现对象是线程不安全的,建议sqlSession应用场合在方法体内。

4、调用sqlSession的方法去操作数据。

         如果需要提交事务,需要执行SqlSession的commit()方法。

5、释放资源,关闭SqlSession

 

mybatis开发dao的方法:

1、原始dao 的方法

         需要程序员编写dao接口和实现类

         需要在dao实现类中注入一个SqlSessionFactory工厂。

 

2、mapper代理开发方法(重点

         只需要程序员编写mapper接口(就是dao接口)

         程序员在编写mapper.xml(映射文件)和mapper.java需要遵循一个开发规范:

         1、mapper.xml中namespace就是mapper.java的类全路径。

         2、mapper.xml中statement的id和mapper.java中方法名一致。

         3、mapper.xml中statement的parameterType指定输入参数的类型和mapper.java的方法输入 参数类型一致。

         4、mapper.xml中statement的resultType指定输出结果的类型和mapper.java的方法返回值类型一致。

 

SqlMapConfig.xml配置文件:可以配置properties属性、别名、mapper加载。。。

 

输入映射:

         parameterType:指定输入参数类型可以简单类型、pojo、hashmap。。

         对于综合查询,建议parameterType使用包装的pojo,有利于系统 扩展。

 

输出映射:

         resultType:

                   查询到的列名和resultType指定的pojo的属性名一致,才能映射成功。

         reusltMap:

                   可以通过resultMap完成一些高级映射。

                如果查询到的列名和映射的pojo的属性名不一致时,通过resultMap设置列名和属性名之间的对应关系(映射关系)。可以完成映射。

                   高级映射:

                            将关联查询的列映射到一个pojo属性中。(一对一)

                            将关联查询的列映射到一个List<pojo>中。(一对多)

动态sql:(重点)

         if判断(掌握)

         where

         foreach

         sql片段(掌握)


查看评论

Mybatis快速入门

mybatis已是主流持久层框架,目前学习资料和书籍是最少的,本课程针对实际企业应用,进行mybatis技术解析。
  • 2016年10月27日 09:27

MyBatis小结

(一)使用MyBatis的开发步骤 1.下载mybatis-3.2.2.jar包并导入工程 2.编写MyBatis核心配置文件(configuration.xml) 3.创建实体类-POJO 4.DA...
  • forward627
  • forward627
  • 2017-08-19 20:26:25
  • 202

MyBatis-3.2.2和mybatis-spring-1.2.1架包

  • 2014年06月20日 22:00
  • 664KB
  • 下载

mybatis学习小结(一)

在学习mybatis框架之前,只了解mybatis是一个持久层的框架,跟hibernate差不多,学习之后发现虽然都是持久层框架,区别还是很大的。 首先对原始的未使用框架的JDBC程序存在的不足做了...
  • Sherljack
  • Sherljack
  • 2017-03-27 17:06:21
  • 209

MyBatis学习总结(14)——Mybatis使用技巧总结

1、 区分 #{} 和 ${}的不同应用场景 1)#{} 会生成预编译SQL,会正确的处理数据的类型,而${}仅仅是文本替换。 对于SQL: select * from student where x...
  • u012562943
  • u012562943
  • 2016-01-15 10:57:41
  • 2088

2017年2月8日 实习初贴(第一次总结)

加上年前年后的时间,到今天为止已经在Intel虚拟化部门实习了13天。实习所参与的项目是开源项目,属于Intel OTC(Open Source Technology Center),是OTC众多项目...
  • CoderHattonLiu
  • CoderHattonLiu
  • 2017-02-08 23:16:33
  • 657

MyBatis 使用经验总结

仅在使用过程中的总结,本人仍在不断的实践中…… 1. 多参数的使用 MyBatis的查询或者更新中,如果需要多个参数有如下几种办法: - 对象映射,建立一个Java对象,并作为接口的参数,对象...
  • yin138
  • yin138
  • 2016-06-04 16:30:57
  • 665

MyBatis学习之传递多个参数(一)

MyBatis版本: 3.4.0+ (1)通过Map传递参数 select id,role_name,note from t_role where...
  • KinseyGeek
  • KinseyGeek
  • 2017-04-09 15:20:47
  • 228

MyBatis的坑(Parameter 'XXX' not found)

Mybatis(Parameter 'XXX' not found)
  • qq_27932435
  • qq_27932435
  • 2017-07-14 17:03:56
  • 267

Mybatis 1.动态sql 2.模糊查询

MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 MyBatis中用于实现动态SQL的元素主要有:   ifchoose(when,otherw...
  • honghu_00
  • honghu_00
  • 2015-09-20 09:54:43
  • 949
    个人资料
    持之以恒
    等级:
    访问量: 520
    积分: 472
    排名: 10万+
    文章存档
    最新评论