Properties属性

properties属性可以给系统配置一些运行参数,一般放在xml文件或properties文件中,而不放在java代码中。

  • Mybatis有三种使用properties的使用方式:
    1. property子元素
    2. properties文件
    3. 程序代码传递

我们可以配置多个键值放在一个properties文件中,也可以把多个键值放在多个文件中。

(一)当属性参数少时--property子元素

(二)当数量多时--properties文件

将一个文件拆成无数小文件。比如将jdbc的driver,url,username,password提取出来,成为一个单独的文件.

                                jdbc.properties
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost:3304/ssm
database.username=root
database.password=root

这时,就可以用<properties resource="jdbc,properties">引入配置,也可以用${database.username}的方法引入properties文件属性。

(三)加密解密--程序传递方式传递参数

真实生产环境,数据库用户密码对开发人员和其他人员保密,properties文件是加密的,需要先解密,然后将解密后的字符串放到properties属性中。

假设,解密方法为CodeUtils.decode(str)

                        解密用户和密码后创建SqlSessionFacotry
String resource="mybatis-config.xml";
InputStream inputStream;
InputStream in = Resources.getResourceAsStream("jabc.properties");
Properties props = new Properties();
props.load(in);
String username = props.getProperty("database.username");
String password= props.getProperty("database.password");
//解密用户和密码,并在属性中重置
props.put("database.username",CodeUtils.decode(username));
props.put("database.password",CodeUtils.decode(password));
inputStram = Resources.getResourceAsStream(resource);
//使用程序传递的方式覆盖原有的properties属性参数
SqlSessionFactory = new SqlSessionFactoryBulder().build(inputStream,props);

三种方法是有优先级的,最优先使用程序传递,其次properties文件,最后property子元素,Mybatis会根据优先级来覆盖原先的配置属性!一般使用文件,如果有加密就参考上面的,配合文件。

 

 

 

----全文来自《JavaEE 互联网轻量级框架整合开发》

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值