在分析 MyBatis XML 配置文件 properties 元素时提到了三种配置方式,其中 property 子元素 和 properties 文件都比较容易理解,但是为什么还要提供一种代码参数传递的方式呢?

假设一种使用场景,生产环境的数据库联系方式是加密的,故需要 jdbc.properties 文件中以密文的形式保存,而 MyBatis 默认不支持直接解密读取,此时就需要程序进行解密读取。

1
2
3
4
5
6
7
8
9
10
String configResource = "mybatis-config.xml";
InputStream configInputStream = Resources.getResourceAsStream(configResource);

大专栏  MyBatis XML 配置文件 properties 元素扩展>String propertiesResource = "jdbc.properties";
InputStream propertiesInputStream = Resources.getResourceAsStream(propertiesResource);
Properties properties = new Properties();
properties.load(propertiesInputStream); properties.setProperty(decode(properties.getProperty("key")));
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, properties);

实现解密方法:

1
2
3
private String decode(String value) {
// TODO
}

这里只是介绍一种使用思路

MyBatis XML 配置文件 properties 元素扩展的更多相关文章

  1. mybatis基础,mybatis核心配置文件properties元素

    peroperties元素 可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递 为dataSource元素配置 <proper ...

  2. mybatis xml配置文件模版

    mybatis xml配置文件模版 1.mybatis核心配置文件书写(SqlMapConfig.xml) <?xml version="1.0" encoding=&quo ...

  3. MyBatis Generator配置文件context元素的defaultModelType属性

    MyBatis Generator配置文件context元素的defaultModelType属性 MyBatis Generator配置文件context元素有一个defaultModelType属 ...

  4. MyBatis XML配置properties

    来源:https://www.w3cschool.cn/mybatis/7zy61ilv.html XML 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(sett ...

  5. mybatis xml配置文件要点说明

    mapper映射方式: 1 一一具体列举的方式 2扫描package 如: <mappers> <!-- 告知映射文件方式1,一个一个的配置 <mapper resource= ...

  6. spring+springmvc+mybatis xml配置文件

    一.jdbc.properties 文件: driver=com.mysql.jdbc.Driverurl=jdbc:mysql://192.168.31.xxx:3306/abc?useUnicod ...

  7. Mybatis XML 配置文件

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  8. spring xml配置文件根元素(文件头文件)说明

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. MyBatis xml配置文件详解

    http://blog.csdn.net/fenghuibian/article/details/52525671

随机推荐

  1. NATAPP内网穿透软件使用指南

    1.请求官网路径没有账号的注册,有账号的直接登录 https://natapp.cn 2.下载不同环境所需的启动文件,另存为不同目录 https://natapp.cn/#download --> ...

  2. object detection模型转换成TensorFlow Lite,在Android应用

    环境 tensorflow = 1.12.0 bazel = 0.18.1 ubuntu = 16.04 python = 3.6.2 安装 bazel (0.18.1) 如果tensorflow是1 ...

  3. Ubuntu源码编译安装tensorflow

    ubuntu14 cuda9.0_384.81 驱动版本384.90  cudnn7.2 tensorflow1.8 https://blog.csdn.net/pkokocl/article/det ...

  4. Linux-进程关系

    (1).无关系 (2).父子进程关系 (3).进程组(group):由若干个进程构成一个进程组 (4).会话(session):由若干个进程组构成一个会话

  5. servlet 上传文件

    java protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException ...

  6. Linux 进程信号量

    #include<stdlib.h> #include<stdio.h> #include<sys/types.h> #include<sys/ipc.h&g ...

  7. 包-logging-hashlib-深浅拷贝

    一.包: 包的本质就是一个模块 什么是包:它是一系列模块文件的结合体,表示形式就是一个文件夹,该文件夹内部通常会有一个__init__..py的文件 导入包的过程:先产生一个执行文件的名称空间 1:创 ...

  8. soap,restful 两种web service实现方式比较

    web service服务 目前常用的实现web service的方式有有两种 1.SOAP 原始的web service标准,一堆标准,不过这些标准是在开发框架中实现的,有上层接口,可以调用 2.R ...

  9. 解决 WinForm 重写 CreateParams 隐藏窗口以后的显示问题

    WinForm 启动时隐藏窗体最简单有效的办法是重写 CreateParams protected override CreateParams CreateParams { get { base.Vi ...

  10. [ZJOI2019]浙江省选(半平面交)

    一眼看上去就应该能用半平面交去做. 首先考虑怎么求可能得第1名的人:每个人的函数为直线,就是在所有人的半平面交中的上边界者即可获得第一名,这个可以单调队列求解. 再考虑如何求可能得第2名的人:满足2个 ...