MyBatis配置文件 —— 相关标签详解

news/2024/12/23 7:57:32/

目录

一、Mybatis配置文件 — properties标签

二、Mybatis配置文件 — settings标签

三、Mybatis配置文件 — plugins标签

四、Mybatis配置文件 — typeAliases标签

五、Mybatis配置文件 — environments标签

六、Mybatis配置文件 — mappers标签


一、Mybatis配置文件 — properties标签

MyBatis配置文件结构:

-configuration

        -properties(属性)

                -property

        -settings(全局配置参数)

                -setting

        -plugins(插件)

                -plugin

        -typeAliases(别名)

                -typeAliase

                -package

        -environments(环境)

                -environment

                        -transactionManager(事务管理)

                        -dataSource(数据源)

        -mappers(映射器)

                -mapper

                -package

properties

属性值定义。properties标签中可以定义属性值,也可以引入外部配置文件。无论是内部定义还是外部引入,都可以使用${name}获取值。

例如:我们可以将数据源配置写到外部的db.properties中,再使用properties标签引入外部配置文件,这样可以做到动态配置数据源。

① 编写db.properties

jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/mybatis
jdbc.username = root
jdbc.password = 666666

② 在配置文件中引入db.properties

    <properties resource="db.properties"></properties><environments default="mysql"><environment id="mysql"><!-- 事务类型 --><transactionManager type="JDBC"></transactionManager><!-- 数据源 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments>

        当然我们也可以将数据源数据通过 <properties> 配置到MyBatis配置文件内,但这样做没什么意义。

 测试一下findAll方法是否测功执行

OK,说明了确实可以的。 

二、Mybatis配置文件 — settings标签

        <settings> 是配置MyBatis运行时的一些行为的,例如缓存、延迟加载、命名规则等一系列控制性参数。后期我们会使用该标签配置缓存和延迟加载等。

三、Mybatis配置文件 — plugins标签

        <plugins> 是配置MyBatis插件的。插件可以增强MyBatis功能,比如进行sql增强,打印日志,异常处理等。后期我们会使用该标签配置分页插件。

四、Mybatis配置文件 — typeAliases标签

        MyBatis对常用类有默认别名支持,比如java.lang.Stirng的别名为string。除此之外,我们也可以使用 <typeAliases> 设置自定义别名。

        为一个类配置别名,如下图所示

<typeAliases><typeAlias type="全类名" alias="别名"></typeAlias>
</typeAliases>

        此时我们即可在映射文件中使用自定义别名,如帮User类配置一个别名
① 配置文件:

    <typeAliases><typeAlias type="com.mybatisstudy.pojo.User" alias="User"></typeAlias></typeAliases>

② 映射文件:

    <select id="findAll" resultType="User">select * from user</select>

③ 测试findAll方法:

        OK,同样是可以执行的,说明该方法可以使用 。

        为一个所有包下的所有类配置别名

<typeAliases><package name="包名"></package>
</typeAliases>

        此时该包下的所有类都有了别名,别名省略包名,和类名相同。

        如:

① 配置文件:

    <typeAliases><package name="com.mybatisstudy.pojo"/></typeAliases>

② 映射文件:

    <select id="findPage2" resultType="User" parameterType="PageQuery">select * from user limit #{startIndex},#{pageSize}</select>

③ 测试结果:

         OK,同样可以运行,说明该方法也可以使用。

五、Mybatis配置文件 — environments标签

        <environments> 可以为MyBatis配置数据环境。

事务管理

<environments default="mysql"><environment id="mysql"><!-- JDBC:使用JDBC的提交和回滚MANAGED:不做事务处理--><transactionManager type="JDBC"></transactionManager></environment>
</environments>

连接池

<environments default="mysql"><environment id="mysql"><transactionManager type="JDBC"></transactionManager><!-- 连接池设置 --><dataSource type="POOLED"><!-- 数据源设置... --></dataSource></environment>
</environments>

dataSourcetype属性:

  1.  POOLED:使用连接池管理连接,使用MyBatis自带的连接池。
  2.  UNPOOLED:不使用连接池,直接由JDBC连接。
  3.  JNDI:由JAVAEE服务器管理连接,如果使用Tomcat作为服务器则使用Tomcat自带的连接池管理。

六、Mybatis配置文件 — mappers标签

        <mappers> 用于注册映射文件或持久层接口,只有注册的映射文件才能使用,共有四种方式都可以完成注册:

① 使用相对路径注册映射文件

    <mappers><mapper resource="com/mybatisstudy/mapper/UserMapper.xml"></mapper></mappers>

② 使用绝对路径注册映射文件

<mappers>  <mapper url="file:///C:\javaProjects\mybatiscase\mybatisDemo1\src\main\resources\com\itbaizhan\mapper\UserMapper.xml"/>
</mappers>

③ 注册持久层接口

<mappers>  <mapper class="com.itbaizhan.mapper.UserMapper"/>
</mappers>

④ 注册一个包下的所有持久层接口

<mappers><package name="com.itbaizhan.mapper"/>
</mappers>

http://www.ppmy.cn/news/42194.html

相关文章

Wijmo JavaScript UI 5.20222.877 Crack

Wijmo使用更快、更灵活的 JavaScript UI 组件构建更好的应用程序 使用 Wijmo&#xff0c;利用我们引人注目的 UI 组件库&#xff0c;将更多时间花在应用程序的核心功能上。要求零依赖&#xff0c;Wijmo sports弹性网格&#xff0c;业内最好的 JavaScript 数据网格&#xff0c;提…

关于 AI ,大家关心的问题

阅读本文大概需要 1.46 分钟。兄弟们&#xff0c;自从我跟曹老师准备合伙做一个 AI 生态的新社群之后&#xff0c;很多人问我最多的问题就是&#xff1a;AI 时代对我们普通人来说意味着什么&#xff1f;普通人又该如何去把握 AI 时代的机会&#xff1f;那么&#xff0c;今天&am…

【Java Web】014 -- SpringBoot原理(配置优先级、Bean管理、SpringBoot原理)

目录 一、配置优先级 1、配置&#xff08;3种&#xff1a;.properties、yml、yaml&#xff09; ①、配置文件优先级 ②、如何指定Java系统属性和命令行参数 ③、5种配置文件的优先级 二、Bean管理 1、获取bean&#xff08;3种方法&#xff09; 2、bean作用域&#xff08;5种&am…

tomcat安装与配置

目录 1、安装jdk(官方站点下载 jdk-8u60-linux-x64.tar.gz ) 2、安装tomcat&#xff08;官方站点下载apache-tomcat-8.5.20.tar.gz&#xff09; 3、在浏览器上输入http://192.168.88.144:8080 4、写一个启动关闭的服务脚本 5、布置jpress应用 6、浏览器地址栏输入http://192…

数据结构与算法六 树

一 二叉树入门 之前我们实现的符号表中&#xff0c;不难看出&#xff0c;符号表的增删查操作&#xff0c;随着元素个数N的增多&#xff0c;其耗时也是线性增多的&#xff0c;时间复杂度都是O(n),为了提高运算效率&#xff0c;接下来我们学习树这种数据结构。 1.1 树的基本定义…

【WXS】各类运算符计算方法及详解

一、&#xff1e;&#xff1e;和&#xff1c;&#xff1c;运算符的计算方法 举个例子&#xff1a; >> 右移除以取整&#xff1a; 10>> 1的结果是5&#xff0c;计算方法&#xff1a;10/&#xff08;2&#xff09;5 取整后等于5 10>>2 的结果是2&#xff…

RPC调用框架简单介绍

一.Thrift Apache Doris目前使用的RPC调度框架。Thrift是一款基于CS&#xff08;client -server&#xff09;架构的RPC通信框架&#xff0c;开发人员可以根据定义Thrift的IDL(interface decription language)文件来定义数据结构和服务接口&#xff0c;灵活性高&#xff0c;支持…

docker项目实施

鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器_闭关苦炼内功的技术博客_51CTO博客鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器&#xff0c;本文是基于之前这篇文章鲲鹏920架构arm64版本centos7安装docker下面开始先来看下系统版本卸载旧版本旧版本…