MyBatis之配置解析

MyBatis之配置解析,第1张

MyBatis之配置解析

目录

环境配置

属性(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
    

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5718375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存