Mybatis配置文件如何进行配置呢?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1RAhWZql-1609136973478)(https://imgkr.cn-bj.ufileos.c...]
Mybatis配置文件配置的方式properties
settings
typeAliases
typeHandlers
objectFactory
plugins
environments
transactionManager
dataSource
mappers
案例实操
1. properties
这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。例如:
其中的属性就可以在整个配置文件中使用来替换需要动态配置的属性值。比如:
如何配?
在config.xml 文件中引入子标签
并修改原有数据源连接相关配置如下:
即可完成。
2. settings(了解)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lATdekkB-1609136973486)(https://imgkr.cn-bj.ufileos.c...]
这是MyBatis 修改操作运行过程细节的重要的步骤。下方这个表格描述了这些设置项、含义和默认值。一般我们用默认即可(详细解释见官网文档)
对应xml配置如下(开发中一般采用默认配置即可):
3.typeAliases
类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:
Configuration 标签下添加
修改CustomerMapper.xml 文件
SELECT id,user_name 'userName' FROM yg_customer WHERE id=#{id}
也可以指定一个包名(大家最喜欢的方式),MyBatis 会在包名下面搜索需要的 Java Bean,比如:
每一个在包com.xxx.pojo 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如com.xxx.pojo.Customer 的别名为customer ;
若有注解,则别名为其注解值。 注解名@Alias(value=“user”)
同样mybatis已经为我们构建了相应的类型别名,它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。
别名
映射的类型
_byte
Byte
_long
Long
_short
Short
_int
Int
_integer
Int
_double
Double
_float
Float
_boolean
Boolean
string
String
byte
Byte
long
Long
short
Short
int
Integer
integer
Integer
double
Double
float
Float
boolean
Boolean
date
Date
decimal
BigDecimal
bigdecimal
BigDecimal
object
Object
map
Map
hashmap
HashMap
list
List
arraylist
ArrayList
collection
Collection
iterator
Iterator
4.typeHandlers 类型处理器(面试有可能会问)
无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。
BooleanTypeHandler
java.lang.Boolean, boolean
数据库兼容的 BOOLEAN
ByteTypeHandler
java.lang.Byte, byte