16_MyBatis中期小结

【MyBatis是什么】

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

  MyBatis让开发人员将经历放在sql语句上,对sql语句优化非常方便,适用于需求变化较多的项目,比如互联网的相关项目。

【MyBatis框架执行过程】

1.配置mybatis的配置文件,SqlMapConfig.xml(名称不固定)。

2.通过配置文件,加载myBatis运行环境,创建SqlSessionFactory会话工厂。SqlSessionFactory在实际使用时按单例方式。

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

4.调用sqlSession的方法去操作数据,如果需要提交事务,需要执行SqlSession的commit( )方法。

5.释放资源,关闭SqlSession。

【MyBatis开发Dao方法】

一.原始dao的方法(iBatis/MyBatis)

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

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

二.mapper代理开发方法(MyBatis,建议使用)

  只需要程序员编写mapper接口。

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

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

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

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

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

【输入映射】

  parameterType:指定输入参数类型可以为简单类型、pojo、hashMap....

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

【输出映射】

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

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

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

【高级查询】

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

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

  

时间: 2024-10-17 15:51:16

16_MyBatis中期小结的相关文章

《从0到1》读书笔记第2章&amp;quot;像1999 年那样狂欢&amp;quot;第1记:小结及词汇解析

小结 本章的目的应该是通过90年代末的互联网泡沫的背景,成因.影响,以及教训来教诫人们,在全部人都疯狂的抛身于洪流热潮之中时,我们要冷静的思考辨识出那些不切实际的大众观点,找到隐藏在这些观点后面的反主流事实. 93年Mosaic浏览器的出现等引发大批的投资人涌向互联网市场.大量的资金涌入催生出大量的所谓互联网公司,这些公司在没有盈利或者还没有收益的时候就已经被鼓吹的身价百倍.引发"非理性繁荣"和导致"资产价格虚增".大部分这些公司根本没有盈利模式和能力,它们甚至不清

《从0到1》读书笔记第2章&quot;像1999 年那样狂欢&quot;第1记:小结及词汇解析

小结 本章的目的应该是通过90年代末的互联网泡沫的背景,成因,影响,以及教训来教诫人们,在所有人都疯狂的抛身于洪流热潮之中时,我们要冷静的思考辨识出那些不切实际的大众观点,找到隐藏在这些观点后面的反主流事实. 93年Mosaic浏览器的出现等引发大批的投资人涌向互联网市场,大量的资金涌入催生出大量的所谓互联网公司,这些公司在没有盈利或者还没有收益的时候就已经被鼓吹的身价百倍,引发"非理性繁荣"和导致"资产价格虚增".大部分这些公司根本没有盈利模式和能力,它们甚至不清

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

【转载】小结一下linux 2.6内核的四种IO调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation.该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作.之所以说“大致”,原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求.NOOP假定I/O请求由驱动程序或者设备做了优化或者重排了顺序(就像一个智能控制器完成的工作那样).在有些SAN环境下,这个选择可能是最好选择.Noop 对于 IO

Android基础入门教程——8.1.3 Android中的13种Drawable小结 Part 3

Android基础入门教程--8.1.3 Android中的13种Drawable小结 Part 3 标签(空格分隔): Android基础入门教程 本节引言: 本节我们来把剩下的四种Drawable也学完,他们分别是: LayerDrawable,TransitionDrawable,LevelListDrawable和StateListDrawable, 依旧贴下13种Drawable的导图: 1.LayerDrawable 层图形对象,包含一个Drawable数组,然后按照数组对应的顺序来

Android基础入门教程——8.1.2 Android中的13种Drawable小结 Part 2

Android基础入门教程--8.1.2 Android中的13种Drawable小结 Part 2 标签(空格分隔): Android基础入门教程 本节引言: 本节我们继续来学习Android中的Drawable资源,上一节我们学习了: ColorDrawable:NinePatchDrawable: ShapeDrawable:GradientDrawable!这四个Drawable~ 而本节我们继续来学习接下来的五个Drawable,他们分别是: BitmapDrawable:Insert

安卓小结《1》

Activity的生命周期和启动模式的知识点小结: 1.如果Activity切换的时候,新Activity是透明,旧的不会走onStop方法. 2.新的Activity切换的时候,旧Activity  会先执行,onpause,然后才会启动新的activity. 3. Activity在异常情况下被回收时,onSaveInstanceState方法会被回调,回调时机是在onStop之前,当Activity被重新创建的时 候,onRestoreInstanceState方法会被回调,时序在onSt

date命令小结

在写linux shell脚本时,date是经常要用到的一个命令,这篇文章就此做个小结,以防自己用到时到处找 1.最基本的,显示当前的具体时期:直接敲入 date即可,如下, [email protected]:~/scripts$ date 2015年 01月 03日 星期六 21:46:49 CST 2.显示某个文件上次修改的时间:date -r file [email protected]:~/scripts$ date -r save.sh 2015年 01月 02日 星期五 23:29

java 小结2 多态问题。

面向对象这个东西,其实我们一直是不是都没有感觉到自己在用,以后我一定要用用.以前学c#时候认真的看过一次,最近一直研究java.随便再看看. 多态问题: 在java中多态分为(1)编译时多态和(2)运行时多态 (1)编译时多态比较容易理解:其实就是通过方法重载,就是方法的重载,同一个函数名但是可以参数不一样.这就是重载(so easy) (2)运行时多态:这个是通过方法覆盖实现的,就是子类在继承父类的时候,通过对某个方法的重写,覆盖父类方法. 简单的说:比如我们有个父类A,子类B通过Extend