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 +配置文件来获取连接数据库,方便又快捷
根据前面的连接方法,还有缺点就是,如果人家要换数据库,还得改动源代码,然后还要编译什么的.这样客户修改也不容易. 做法:我们写一个配置文件,把该数据写在配置文件上面,然后通过类来加载改文件,然后读取相 ...
随机推荐
- JasperReport4.6生成PDF中文
Web项目中PDF显示中文 本人无奈使用JasperReport4.6,因为这本书(好像也是唯一的一本国内的介绍JasperReport的书), 选择"文件"→New命令,弹出一个 ...
- Swift _ OC _ 混编
Swift _ OC _ 混编 在OC环境下使用Swift. GitHub源码
- AtomicReference 原子引用
AtomicReference和AtomicInteger非常类似,不同之处就在于AtomicInteger是对整数的封装,底层采用的是compareAndSwapInt实现CAS,比较的是数值是否相 ...
- ZXing.net 生成和解析二维码
nuget引用zxing.net包 public partial class Form1 : Form { public Form1() { InitializeComponent(); } priv ...
- js实现点击按钮可实现编辑
<script type="text/javascript">//修改密码//抓取到的数据 function edit() { document.getElementB ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 007-011
真的是忙头晕了,学业.ACM打题.班级活动.自学新东西,哇这充实的大学~ ------------------------------------------------L1-007--------- ...
- MySQL学习【SQL语句上】
1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql -uroot -p ...
- linux 特殊命令(二)
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Membershi ...
- Yii2 yiisoft/mongodb 手动安装
手动将yiisoft/mongodb下载到vendor/yiisoft目录(注意约束条件). 在vendor/yiisoft/extensions.php 中添加 'yiisoft/yii2-mong ...
- 关于NPOI导出excel文件(xls和xlsx两种格式)提示格式不符的问题
这两天在做导出excel文件的时候遇到这个问题 本来我导出的格式是xlsx格式的,但是下载得到的文件格式变成了xls, 一开始以为是返回的contenttype设置错了 return File(ms, ...