MyBatis配置文件中有很多配置项,这些配置项分别代表什么,有什么作用,需要理一下了。先通过下面这个例子来看都有哪些配置项

 <?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">
<!-- mybatis的基本配置文件:主要配置基本的上下文参数和运行环境 -->
<configuration>
<!--配置-->
<properties></properties>
<!--设置 -->
<settings></settings>
<!--类型命名 -->
<!--别名:pojo对象的别名 -->
<typeAliases>
<typeAlias alias="user" type="com.daily.pojo.User"></typeAlias>
<typeAlias alias="product" type="com.daily.pojo.Product"></typeAlias>
</typeAliases>
<!--类型处理器 -->
<typeHandlers></typeHandlers>
<!--对象工厂 -->
<objectFactory></objectFactory>
<!--插件 -->
<plugins></plugins>
<!-- 环境模式:development开发模式 work工作模式 -->
<environments default="development">
<!--环境变量 -->
<environment id="development">
<!--事务管理器 -->
<transactionManager type="JDBC" />
<!--数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.pwd}" />
</dataSource>
</environment>
</environments>
<!--数据库厂商标示 -->
<databaseIdProvider></databaseIdProvider>
<!-- 映射器 -->
<mappers>
<mapper resource="com/daily/mapper/UserMapper.xml" />
<mapper resource="com/daily/mapper/ProductMapper.xml" />
</mappers>
</configuration>

以上就是所有的配置项,需要注意的是配置项的顺序不能颠倒,如果颠倒了它们的顺序,在MyBatis的自启动阶段会发生异常,导致程序无法运行。我会一个一个配置地做一下分析和记录,为了避免文章太长导致日后复习或别人阅读时产生疲劳,我决定一个配置项分一篇的方式进行记录。今天先分析一下第一个配置项properties。

首先properties的使用方式有三种:

1⃣️property子元素:就是在properties属性中增加子属性property,从而设置一些配置的key-value;

2⃣️properties文件:就是直接使用properties引入外部配置文件,相当于将子属性抽取成一个独立的外部文件引入;

3⃣️程序代码传递参数:就是通过代码的方式设置该配置相关的信息,如数据库配置文件中的用户名和密码一般是密文,但是连接数据库时需要对配置进行解密,此时就只能通过程序代码的方式配置了;

下面以数据库配置为例,来实现这三种不同的配置方式:

⚠️注意:因为是单独介绍,所以这里显示properties的配置,不显示其他配置项

一、property子元素

 <properties>
<property name="db.driver" value="org.postgresql.Driver"></property>
3 <property name="db.url" value="jdbc:postgresql://localhost:5433/postgres"></property>
4 <property name="db.username" value="postgres"></property>
5 <property name="db.pwd" value="postgres"></property>
6 </properties>

这种配置方式的缺点是,如果配置项很多,那么就会让配置文件显得很庞大,为了解决这个缺点,我们可以使用下面的配置方式

MyBatis配置文件(一)――properties属性的更多相关文章

  1. MyBatis配置文件之properties属性

    MyBatis提供3个方式使用properties: 1.property子元素. 2.properties文件. 3.程序代码传递. properties属性系给系统配置一些运行参数,一般放在XML ...

  2. Spring/Maven/MyBatis配置文件结合properties文件使用

    使用properties文件也叫注入,比如把一些常用的配置项写入到这个文件,然后在Spring的XML配置文件中使用EL表达式去获取. 这种方式不只Spring可以使用,同样MyBatis也可以使用, ...

  3. Mybatis-学习笔记(1)SqlSessionFactory、SqlSession、Mybatis配置文件configuration的属性标签

    1.mybatis引入项目,只需要引入mybatis-x.x.x.jar包即可. (当然数据库驱动的引入必不可少) 2.SqlSessionFactory 由SqlSessionFactoryBuil ...

  4. JAVA MyBatis配置文件用properties引入外部配置文件

    方式一:通过properties 元素的子元素来传递数据 例如: <properties> <property name="driver" value=" ...

  5. 三 MyBatis配置文件SqlMapCofing.xml(属性加载&类型别名配置&映射文件加载)

    SqlMapCofing:dtd,属性加载有固定的顺序Content Model properties:加载属性文件 typeAliases:别名配置 1 定义单个别名:不区分大小写 核心配置: 映射 ...

  6. 【spring boot】配置文件 application.properties 属性解析

    1.JPA  hibernate命名策略 完整命名策略 ,查看:http://www.cnblogs.com/sxdcgaq8080/p/7910474.html 2.hibernate的DDL执行策 ...

  7. 02.MyBatis配置文件详解

        MyBatis入参考文档:http://mybatis.org/mybatis-3/zh/  1.properties 属性 1.在MyBatis配置文件中引用属性文件     MyBatis ...

  8. mybatis学习——properties属性实现引用配置文件

    Mybatis核心配置文件中有很多的配置项,配置文档的顶层结构如下: *注意:配置项的顺序不能颠倒,如果颠倒了它们的顺序,在MyBatis的自启动阶段会发生异常,导致程序无法运行. propertie ...

  9. 【Mybatis】配置文件加载属性

    Mybatis将按照下面的顺序来加载属性: 1.在properties文本定义的属性首先被读取, 2.然后读取Mybatis的配置文件sqlConfig.xml配置文件中properties标签属性 ...

随机推荐

  1. 在select标签中添加a标签

    <!--第一个选项不能写连接--> <select id="" onchange="window.location=this.value"&g ...

  2. PAT甲级——A1119 Pre- and Post-order Traversals【30】

    Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...

  3. 初识OpenCV-Python - 003:Mouse as a paint-brush

    此次学习了如何在OpenCV中使用鼠标事件.主要使用cv2.setMouseCallback()函数来调用鼠标事件. 首先,鼠标有如下事件: >>> import cv2>&g ...

  4. POJ 3348 /// 凸包+多边形面积

    题目大意: 给定的n个点 能圈出的最大范围中 若每50平方米放一头牛 一共能放多少头 求凸包 答案就是 凸包的面积/50 向下取整 /// 求多边形面积// 凹多边形同样适用 因为点积求出的是有向面积 ...

  5. spark jdk8 单词统计示例

    在github上有spark-java8 实例地址: https://github.com/ypriverol/spark-java8 https://github.com/ihr/java8-spa ...

  6. 【颓废篇】人生苦短,我用python(一)

    谁渴望来一场华(ang)丽(zang)的python交易! 最近突然产生了系统学习python的想法. 其实自从上次luogu冬日绘板dalao们都在写脚本就有这种想法了. 最近被计算几何势力干翻的我 ...

  7. 单体内置对象——Global对象

    单体内置对象的定义:由ECMAScript实现提供的.不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前已经存在了.意思就是说:开发人员不必显式地实例化内置对象,因为他们已经实例化了. ...

  8. 【JZOJ3362】【BZOJ3758】数数

    description 神犇最近闲来无事,于是就思考哲学,研究数字之美.在神犇看来,如果一个数的各位能够被分成两个集合,而且这两个集合里的数的和相等,那么这个数就是优美的(具体原因就只有神犇才知道了) ...

  9. 如何在 Apache Flink 中使用 Python API?

    本文根据 Apache Flink 系列直播课程整理而成,由 Apache Flink PMC,阿里巴巴高级技术专家 孙金城 分享.重点为大家介绍 Flink Python API 的现状及未来规划, ...

  10. 第十章 Odoo 12开发之后台视图 - 设计用户界面

    本文将学习如何为用户创建图形化界面来与图书应用交互.我们将了解不同视图类型和小组件(widgets)之间的差别,以及如何使用它们来提供更优的用户体验. 本文主要内容有: 菜单项 窗口操作(Window ...