JAVA

关于Mybatis中的properties属性中的 url 和 resource 的使用

我们使用Mybatis的时候
是需要在配置文件中配置property属性的

最直接的写法


最简单的写法就是直接将全部内容写在dataSource标签下:

<dataSource type="POOLED">
    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mybatisstudy?serverTimezone=UTC"/>
    <property name="username" value="你的用户名"/>
    <property name="password" value="你的密码"/>
</dataSource>


使用properties标签


当然我们也可以通过设置properties属性 在其中设置我们的property:

<properties>
    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mybatisstudy?serverTimezone=UTC"/>
    <property name="username" value="你的用户名"/>
    <property name="password" value="你的密码"/>
</properties>

然后在下面的dataSource标签中引用我们的写的property

<dataSource type="POOLED">
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
</dataSource>

dataSource下的property标签中的value,是上面我们properties下property中的key。

引用外部的properties


  • 通过resource的形式

我们在项目的resource下新建一个jdbcConfig.properties文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisstudy?serverTimezone=UTC
jdbc.username=你的用户名
jdbc.password=你的密码

然后我们在properties标签处设置resource属性

<properties resource="jdbcConfig.properties"></properties>

因为我们的key改了 因此在dataSource标签下的property中的引用也需要改变一下

<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>
  • 通过url方式

只需要将resource属性去掉 换成url属性 其他都一样

<properties url="file:///E:/java_source/MybatisWithCRUD01/src/main/resources/jdbcConfig.properties"></properties>

url与resource的对比


  • resource

首先resource是比较常用的

resource属性是按照类路径的写法来写的,因此必须存在于类路径下

  • url

URL: Uniform Resource Locator 统一资源定位符

比如这个就是一个URL

 http://localhost:8080/ABC/DEF

协议是:http 主机是:localhost 端口是8080
其他的都是 URI(在这里就是/ABC/DEF)

  • URI

URI:Uniform Resource Identifier 统一资源标识符
它是可以在 web 应用中唯一定位一个资源的路径

  • 补充

如果是本地的文件想获取它的url

1.直接拖到浏览器中即可(比如我使用的谷歌浏览器就支持)
2.按照格式自己敲…