Mybatis 配置(学习笔记4)

之前用到的子工程已经比较乱了,重新按照(学习笔记1)创建一个子工程

在官网配置页首页就是这几个东西

1、environments(环境配置)

MyBatis 可以配置成适应多种环境,但每个 SqlSessionFactory 实例只能选择一种环境。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">   <!--也就是这里可以有多个环境可以配置选择  通过给default=赋值选择环境-->
        <environment id="development">  <!--这里是一个叫development的环境-->
            <transactionManager type="JDBC"/>  <!--事务管理器 有两种一个jdbc 一个是 managen-->
            <dataSource type="POOLED"> <!--数据库连接池 不止一种,但是一般我们都用默认的POOLED-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>   <!--加载mysql驱动 -->
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis1?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/> <!-- 目前够用的url-->
                <property name="username" value="root"/>  <!--自己数据库的名字-->
                <property name="password" value="root"/>  <!--自己数据库的密码-->
            </dataSource>
        </environment>

        <environment id="test">      <!--假设在这里重新创建一个叫test的环境-->
            <transactionManager type=""></transactionManager>
            <dataSource type=""></dataSource>
        </environment>
    </environments>
<!--每一个mapper都需要在mybatis核心配置文件中注册-->
<mappers>
    <mapper resource="com/li/dao/UserMapper.xml" />  <!--用路径找到相应的文件 -->
</mappers>
</configuration>

2、properties(属性)重点

我们可以通过properties属性来实现应用配置文件

先写一个db.properties

这里需要注意的是url的命名不能直接是url要不然后面会报No suitable driver found for http://maven.apache.org的错

driver=com.mysql.cj.jdbc.Driver
urlName=jdbc:mysql://localhost:3306/mybatis1?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=root

用properties标签引入配置文件  需要注意的是 在xml配置文件中标签都是有顺序的,顺序不对会报错 如下图

properties标签引入的第一种方式 自闭和标签 所有的配置信息在外部配置文件种写完

 <properties resource="db.properties" />  <!--properties标签引入外部配置文件  这里引入db.properties因为在同一目录直接写文件名就可以,如果不在同一目录就要写路径-->

第二种  用properties标签引入

    <properties resource="db.properties" >
    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis1?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </properties>

也可以一部分用外部引用,一部分用properties标签引入

    <properties resource="db.properties" >
    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis1?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
    </properties>

引入后下面相应的配置文件也需要改

<configuration>
    <properties resource="db.properties" >
    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis1?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
    </properties>
    <environments default="development">   <!--也就是这里可以有多个环境可以配置选择  通过给default=赋值选择环境-->
        <environment id="development">  <!--这里是一个叫development的环境-->
            <transactionManager type="JDBC"/>  <!--事务管理器 有两种一个jdbc 一个是 managen-->
            <dataSource type="POOLED"> <!--数据库连接池 不止一种,但是一般我们都用默认的POOLED-->
                <property name="driver" value="${driver}"/>   <!--加载mysql驱动 -->
                <property name="url" value="${urlName}"/> <!-- 目前够用的url-->
                <property name="username" value="${username}"/>  <!--自己数据库的名字-->
                <property name="password" value="${password}"/>  <!--自己数据库的密码-->
            </dataSource>
        </environment>


    </environments>

需要注意的是外部引入的优先级大于properties标签引入

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一年找不到工作就去厂里大螺丝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值