首页 > 其他 > 详细

mybatis学习

时间:2017-09-23 19:35:51      阅读:171      评论:0      收藏:0      [点我收藏+]

1.全局配置文件相关

    1)properties元素来引入其他properties的内容,url属性用来引入网络或者磁盘路径下的资源;resource属性用来引入类路径下的资源

    2)settings元素用来配置很多重要的设置学习

    3)typeAliases元素为java类型命名别名,方面xml中填写,子元素<typeAlias type=""/>为指定类型取别名,默认类名开头小写;<package name=""/>子元素,通过指定包的方式,为包下类型批量取别名(别名不区分大小写);当用package批量取别名发生别名冲突的时候(包下的子包下有和包下相同名字的类型),可以用个对其中一个加上@Alias("别名");的方式来指定别名(mybatis中以及有对常见java类型的 别名了)

    4)typeHandlers类型处理器,每一中java类型到数据库类型的映射是由每一种类型处理器来完成的

    5)environments元素用于配置多个环境(比如开发环境和正式环境;mysql环境和oracle环境等),其属性default的值表示使用哪个环境信息。每一个environment子元素表示一种环境,且environment子元素中必须包含transactionManager和dataSource元素;事务管理器默认有2中jdbc和manager,也可以自定义,实现TransactionFactory接口即可;数据源默认有3中POOLED,UNPOOLED,JNDI,也可以自定义数据源,实现DataSourceFactory接口

    6)databaseIdProvider元素(<databaseIdProvider type="DB_VENDOR">)用于提供移植性的支持。在这个元素下配置对应数据库产品的别名,然后在需要跨平台的sql配置中通过databaseId属性指定对应的别名

    7)mappers元素用于将sql配置文件注册得到全局配置文件中,resource属性注册类路径下的配置文件,url配置网络上的,class注册接口(但是要求配置文件和接口在同一个目录下,且配置文件的名字和接口的名字相同;如果sql通过注解配置上去,那么只需要填写接口的全限定名)(重要的复杂的sql通过配置文件映射,不太重要不多变的sql可以通过注解的方式映射)

 以上标签的配置顺序是由要求的,不然会报错

  2.sql映射文件相关

    1)sql语句结束不要写分号;parameterType可以省略,传入的值直接用#{属性名}即可,session要手动提交事务,数据才能持久化到数据库中

    2)mybatis允许增删改直接定义一下类型:Integer(int),Long(long)(这俩个表示操作影响的行数),Boolen(影响行大于0就返回true),void ;如果定义的返回值是这种情况,则不用再对应sql上添加resultType属性

    3)mybatis支持获取自增主键的值,比如插入数据后获取插入数据的主键值,通过在insert元素上添加userGeneratorKeys="true"以及keyProperty=“java ban 存放主键的字段名” 即可

    4)mybatis对非自增主键的支持(比如uuid以及oracle的序列)是通过在sql映射元素添加<selectKey keyProperty="java bean 的id 属性名" order="BEFORE" resultType="string"></selectKey>。其中order属性表示该配置项中的sql是在insert语句之前还是之后执行的。

    5)mybatis对传参的处理

        a。传递单个参数:mybatis不做特殊处理  :#{随便命名}获得参数值

        b。传递多个方法:mybatis将多个参数封装多个map对象,而map的key是规定死的为参数的索引(0开始)或者param1,param2....paramn;

                为了取值更佳方便,可以在参数前面加上@param("参数别名")的方式为map的key命名,这样取值就直接通过  #{对应参数别名}获得

mybatis学习

原文:http://www.cnblogs.com/wanjn/p/7582085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!