其他分享
首页 > 其他分享> > MyBatis配置

MyBatis配置

作者:互联网

MyBatis配置


MyBatis配置元素清单


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

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

properties属性

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

MyBatis三种方式使用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

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

系统定义的typeHandler

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

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

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

自定义typeHandler

标签:定义,自定义,typeHandler,配置,别名,MyBatis,properties
来源: https://blog.csdn.net/Juli_Baker/article/details/116974365