MyBatis配置

MyBatis配置

  • 掌握properties元素用法;
  • 掌握settings元素的配置;
  • 掌握typeAliases的用法;
  • 重点掌握typeHandler在MyBatis中的用法;
  • 了解ObjectFactory的作用;
  • 了解environments的配置;
  • 了解databaseIdProvider的用法 ;
  • 掌握如何有效引入映射器;

MyBatis配置元素清单


注意:MyBatis配置项的顺序不能颠倒,如果颠倒了顺序,在MyBatis启动阶段就会发生异常,导致程序无法运行;

其中properties,settings,typeAliases,typeHandler,plugin,environments,mappers是常用内容;

properties属性

可以给系统配置一些运行参数,可以放在XML文件或者properties文件中,不放在Java编码中;

MyBatis三种方式使用properties:

  • property子元素;
  • properties文件;
  • 程序代码传递;

property子元素


使用properties文件

比较普遍的方法,逻辑就是键值对应,可以配置多个键值放在一个properties文件中,也可以放在多个properties文件中,方便日后维护和修改;


使用程序传递方法传递参数

运维人员为了保密(数据库的用户密码),加密解密的过程;

小结

这三种方式是有优先级的,最优先使用程序传递方式,其次使用properties文件,最后是property子元素的方式,MyBatis会根据优先级来覆盖原先配置的属性值;


Settings设置

settings是MyBatis中最复杂的配置,能深刻影响MyBatis底层的运行,但是在大部分情况下使用默认值便可以运行;所以大部分情况下只需要修改一些常用的规则即可,比如自动映射,驼峰命名映射,级联规则,是否启动缓存,执行器(Executor)类型等;


typeAliases别名

由于类的全限定名很长,有时需要大量使用不方便,定义别名就可以简写;

别名分为系统定义别名和自定义别名;

MyBatis中别名有类TypeAilasRegistry(org.apache.ibatis.type.TypeAliasRegistry)去定义;

在MyBatis中别名不区分大小写;

系统定义别名

查表—系统自定义别名;

“int"别名,小写开头在其前面加下划线—”_int"

“String"别名,大写开头别名变小写"string”

写在TypeAliasRegistry类里面;

使用TypeAliasRegistry的registerAlias方法就可以注册别名了;

一般通过Configuration获取TypeAliasRegistry类对象,其中有一个getTypeAliasRegistry方法可以获得别名,如configuration.getTypeAliasRegistry().


自定义别名

通过TypeAliasRegistry类的registerAlias方法注册,也可以采用配置文件或者扫描方式来自定义;


typeHandler类型转换器

在JDBC中,需要在PreparedStatement对象中设置已经预编译过的SQL语句参数,执行SQL后,会通过ResultSet对象获取得到数据库的数据;

MyBatis是根据数据的类型通过typeHandler类实现的;

typeHandler中分为jdbcType和javaType

  • jdbcType用于定义数据库类型;
  • javaType用于定义Java类型;

typeHandler的作用就是承担jdbcType和javaType之间的相互转换;

系统定义的typeHandler

和别名一样,MyBatis中存在系统定义typeHandler和自定义typeHandler;

根据javaType和数据库的jdbcType来决定采用哪个typeHandler处理转换规则;

在MyBatis中typeHandler都要实现接口org.apache.ibatis.type.TypeHandler;

自定义typeHandler

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值