目录
环境配置
属性(properties)
类型别名(typeAliases)
设置(settings)
映射器(mappers)
结果集映射(resultMap)
本文主要介绍 MyBatis 核心配置文件 mybatis-config.xml 中各部分的含义,重点关注所框内容
环境配置环境变量(environment)
我们可以在 MyBatis 中配置多套环境,但是每个 SqlSessionFactory 实例只能选择一种环境
假如我们现在有 development 和 test 两套环境,我们想要进行切换,只需在 default 处修改为对应环境的 id 即可
事务管理器(transactionManager)
MyBatis 默认类型为 JDBC (常用),但是我们应该知道有两种事务管理器类型 JDBC 和 MANAGED
数据源(dataSource)
MyBatis 默认数据源类型为 POOLED (常用),但是一共有以下三种内置数据源
属性(properties)我们可以使用 properties 属性来实现引用配置文件,我们可以按照如下方式配置数据库的信息
我们也可以通过配置文件来对这些属性赋值,如下
①:先编写一个配置文件 db.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8 username=root password=zhouyue1998zy
②:再在核心配置文件中引入
③:测试:同样能够连接上数据库
注意:我们也可以增加一些属性配置,例如在配置文件中没有配置 username 和 password,可以运用如下方式添加,如果配置文件和下面方式中有相同的字段,优先使用外部配置文件中的
类型别名(typeAliases)
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
我们之前在 配置 userMapper.xml 文件时经常会出现以下情况,其中 resultType 很长一段
现在我们可以在核心配置文件中通过起别名的方式进行简化
方式一:当这样配置时,User 可以用在任何使用 com.zhouyue.pojo.User 的地方
方式二:也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,每一个在包 com.zhouyue.pojo 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 com.zhouyue.pojo.User 的别名为 user;若有注解,则别名为其注解值。
这样配置别名就为 hello
设置(settings)
常用配置
映射器(mappers)
映射器是用来告诉 MyBatis 到哪里去找到 sql 语句
方式一(推荐使用):
方式二:使用 class 文件绑定注册
注意:使用这种方式必须注意以下两点
①:接口和他的 mapper 配置文件必须同名
②:接口和他的配置文件必须在同一个包下
方式三:使用包扫描,将包内的映射器接口实现全部注册为映射器
注意:使用这种方式必须注意以下两点
①:接口和他的 mapper 配置文件必须同名
②:接口和他的配置文件必须在同一个包下
结果集映射(resultMap)
我们可以使用结果集映射来解决属性名和字段名不一致的问题
数据库中的字段
实体类字段
使用以前的方法测试,会出现该字段名为 null 的情况
我们可以使用结果集映射 (resultMap) 来进行处理,不再设置 resultType,而是设置 resultMap
select * from mybatis.user
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)