0


Mybatis配置详解 | 深入理解 『带上CSDN一起玩转国庆』

在这里插入图片描述

文章目录

Mybatis简介

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

Mybatis重点配置解析

Mybatis中文文档网址 | https://mybatis.org/mybatis-3/zh/index.html

Mybatis编写代理接口和映射文件规范

  • 映射文件中的namespace需要和接口的全限定名保持一致
  • 映射文件中statement语句中ID必须和接口的方法名保持一致
  • 映射文件中statement的parameterType必须和接口方法的参数类型保持一致
  • 映射文件中statement的resultType必须和接口方法的返回值保持一致

statement即Mapper.xml文件中的查询语句

环境配置(environments)

Mybatis可以适应多种环境

Tip:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境

<environmentsdefault="development"><environmentid="development"><transactionManagertype="JDBC">
      //POOLED:池连接,下一次连接可以继续在池中连接
    <dataSourcetype="POOLED"><propertyname="driver"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&characterEncoding=UTF-8"/><propertyname="username"value="root"/><propertyname="password"value="root"/></dataSource></environment></environments>
  • default:选择默认环境,根据命中的环境id
  • transactionManager:事务管理器( type=“[JDBC|MANAGED]”))
  • dataSource:数据源(连接数据库 type=“[UNPOOLED|POOLED|JNDI]”)) - driver – 这是 JDBC 驱动的 Java 类全限定名(并不是 JDBC 驱动中可能包含的数据源类)- POOLED– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。 这种处理方式很流行,能使并发 Web 应用快速响应请求。

属性(properties)

可以通过properties属性来实现引用配置文件

这些属性可以在外部进行配置,并可以进行

动态替换

。你既可以在典型的

 Java 属性文件

中配置这些属性,也可以在 properties 元素的子元素中设置 Java 属性文件:db.properties

  • resources包下新建db.properties文件中编写配置文件
driver:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/mybatis?useSSL=true&characterEncoding=UTF-8
username:root
password:root
  • 然后在Mapper.xml文件中写properties标签- 在xml中,所有的标签都需要按规定其顺序书写:properties-setting-typeAliases-typeHandlers-objectFactory-objectWrapperFactory-plugins-environments-databaselProvider-mappers
  • db.properties文件的优先级>Mapper.xml文件的优先级
<!--引入外部配置文件--><propertiesresource="db.properties"/><!--Mapper.xml文件可以直接引用db.properties的属性--><dataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"value="${username}"/><propertyname="password"value="${password}"/></dataSource>

类型别名(typeAliases)

  • 类型别名可为 Java 类型设置一个缩写名字
  • 它仅用于 XML 配置,意在降低冗余的全限定类名书写

方式一:

<typeAliases><typeAliasalias="Author"type="domain.blog.Author"/><typeAliasalias="Blog"type="domain.blog.Blog"/><typeAliasalias="Comment"type="domain.blog.Comment"/><typeAliasalias="Post"type="domain.blog.Post"/><typeAliasalias="Section"type="domain.blog.Section"/><typeAliasalias="Tag"type="domain.blog.Tag"/></typeAliases>

方式二:

指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean

<typeAliases><packagename="domain.blog"/></typeAliases>

实体类注解别名

@Alias("author")publicclassAuthor{...}

设置(settings)

这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等 详见Mybatis官方文档

映射器(mappers)

MapperRegistry(映射器注册):注册绑定我们的Mapper文件

Tip:

  • 接口和Mapper配置文件必须同名
  • 接口和Mapper配置文件必须在同一个包下

方式一:使用相对于类路径的资源引用 [推荐使用]

<!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册--><mappers><mapperresource="指定映射器Mapper.xml文件路径"/></mappers>

方式二:使用映射器接口实现类的完全限定类名

<!-- 使用映射器接口实现类的完全限定类名 --><mappers><mapperclass="指定映射器Mapper接口实现类文件路径"/></mappers>

方式三:使用扫描包进行注入绑定

<!-- 将包内的映射器接口全部注册为映射器 --><mappers><packagename="指定映射器Mapper包的文件路径"/></mappers>
标签: mybatis java java-ee

本文转载自: https://blog.csdn.net/weixin_62765017/article/details/127141925
版权归原作者 wei_shuo 所有, 如有侵权,请联系我们删除。

“Mybatis配置详解 | 深入理解 『带上CSDN一起玩转国庆』”的评论:

还没有评论