JDBC中使用Properties类及配置文件的操作
同时发布于:https://blog.csdn.net/Activity_Time/article/details/81149710
一、properties配置文件
开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。
通常情况下,我们习惯使用properties文件,Java中有专门用来装载配置文件的类Properties(Java.util.Properties),配置文件用来保存一些在程序中可能修改的值,修改时只要修改配置文件即可,而不用修改程序本身。Java配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式。在properties的文件中,在行首加上 # 就是注释这行,或者是用 <!-- --> 包括这行也是注释。
-
#例如
-
driverClass=com.mysql.jdbc.Driver
-
url=jdbc:mysql://localhost:3306/mydatabase
-
username=root
-
password=7894561230
-
<!--注释-->
用MyEclipse打开是这个样子的,这里我保存在了src目录下,命名为database.properties
PS:一行一组数据,格式是“key=value”.
a) key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver
b) value值不支持中文,如果需要使用非英文字符,将进行unicode转换
二、加载配置文件
-
public static void loadPro() throws Exception {
-
//从文件中读取输入流
-
FileInputStream fis = new FileInputStream("src/database.properties");
-
//创建Properties对象
-
Properties pro = new Properties();
-
//从流中加载数据
-
pro.load(fis);
-
//关闭流
-
fis.close();
-
//从Properties对象中根据键读取值
-
String driverClass = pro.getProperty("driverClass");
-
String url = pro.getProperty("url");
-
String username = pro.getProperty("username");
-
String password = pro.getProperty("password");
-
//打印值
-
System.out.println(driverClass);
-
System.out.println(url);
-
System.out.println(username);
-
System.out.println(password);
-
}
1.通过IO读取文件
2.创建Properties对象
3.使用Properties对象的load(流)方法加载数据
4.使用Properties对象的getProperty(键)方法获取对应值
三、用JDBC建立连接
由于本文主要介绍.properties配置文件的使用,固此处不做赘述
-
/* 假设已经取得 driverClass,url, username, password 的值 */
-
-
// 注册驱动
-
Class.forName(driverClass);
-
// 建立连接
-
Connection con = DriverManager.getConnection(url, username, password);
-
// 获取SQL语句执行对象
-
Statement stat = con.createStatement();
-
// 调用执行者对象方法,执行SQL语句获取结果集
-
String sql = "SELECT * FROM sort";
-
ResultSet rs = stat.executeQuery(sql);
-
// ResultSet接口方法 boolean next() 返回true,有结果集,返回false没有结果集
-
while(rs.next()){
-
// 获取每列数据,使用是ResultSet接口的方法 getXX方法参数中,建议写String列名
-
System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+
-
" "+rs.getDouble("sprice")+" "+rs.getString("sdesc"));
-
}
-
// 关闭对象,先开后闭
-
rs.close();
-
stat.close();
-
con.close();
四、Properties对象的常用方法
1. getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
2. load ( InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
3. setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
4. store ( OutputStream out, String comments),以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
5. clear (),清除所有装载的 键 - 值对。该方法在基类中提供。
6. keySet(),获取键集合(Properties继承Hashtable,内部通过Map实现)
本文链接:https://blog.csdn.net/Activity_Time/article/details/81149710
相关文章:https://blog.csdn.net/Activity_Time/article/details/81150644
JDBC中使用Properties类及配置文件的操作的更多相关文章
- Java中的Properties类
目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...
- Java 数据类型:集合接口Map:HashTable;HashMap;IdentityHashMap;LinkedHashMap;Properties类读取配置文件;SortedMap接口和TreeMap实现类:【线程安全的ConcurrentHashMap】
Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value.key和value都可以是 ...
- JDBC中常用的类和接口
<零基础学Java> JDBC中常用的类和接口 利用JDBC的这些类和接口可以更方便地访问并处理存储在数据库中的数据. DriverManager类 DriverManager类 是JDB ...
- java properties类读取配置文件
1.JAVA Properties类,在java.util包里,具体类是java.util.properties.Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值 ...
- 使用java.util.Properties类读写配置文件
J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置,虽说也并非难事,相比 java.util.Properties却要做额外的解析工作.而java.util.Proper ...
- Java Properties 类读配置文件保持顺序
前几天,公司项目中有一个需求是读取配置文件的,而且最好能够保证加载到内存中的顺序能够和配置文件中的顺序一致,但是,如果使用 jdk 中提供的 Properties 类的话,读取配置文件后,加载到内存中 ...
- Properties类与配置文件
//加载文件public static void testLoadProperties() throws Exception { Properties properties = new Propert ...
- day1 java基础回顾- Properties类与配置文件
Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 ...
- JDBC实例--通过连接工具类DBUtil +配置文件来获取连接数据库,方便又快捷
根据前面的连接方法,还有缺点就是,如果人家要换数据库,还得改动源代码,然后还要编译什么的.这样客户修改也不容易. 做法:我们写一个配置文件,把该数据写在配置文件上面,然后通过类来加载改文件,然后读取相 ...
随机推荐
- Redis通过IO进行序列化+反序列化
必须引用序列化Serializable接口 创建类:Role package com.wbg.springRedis.entity; import java.io.Serializable; publ ...
- React Native IOS ---基础环境搭建(前端架构师)
React Native -IOS 开发环境搭建 web架构(基础) 安装依赖 * 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. npm 镜 ...
- C# 类中的静态字段始终继承自基类
我们试想一下现在有一个类Parent,它有一个static的int类型字段number,然后如果类Parent有三个子类Child01.Child02和Child03,那么改变Parent.numbe ...
- 多python版本下,使用pip安装第三方库
说明:win10系统,先安装有Python3.5.2,后又安装了Python2.7.13(并重命名了Python27文件夹下python.exe为python2.7.13.exe),试图使用pip安装 ...
- iOS多语言设置
最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程.如有不对的地方,欢迎各位大神指正.下面就详细介绍下设置的过程: 1.基本设置 第一步:首先在 项目工程 ...
- Swift_100个Swift必备Tips 王巍 PDF
Swift_100个Swift必备Tips 王巍 PDF GitHub下载地址
- React最佳实践(1)
React最佳实践不敢妄谈,但最差实践非知乎莫属. 旧版知乎看起来土了点,但体验流畅,起码用起来舒服. 新版知乎看起来UI现代化,技术实现上采用了React,但是可能因为知乎缺钱,请不起高水平的前端工 ...
- sql 优化的几种方法
.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. .应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而 ...
- shell习题第2题:统计ip访问量
[题目要求] 有日志1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com “/seccode. ...
- shell编程基础-01
1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的 ...