栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis之配置解析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
    

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722067.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号