java JDBC (五) properties配置文件
1、在src目录下创建文件 database.properties
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://192.168.0.207:3306/mydb
user = root
pwd = XXXXXXXXXXXX
2、创建读取配置文件信息的类DBProperties.java
package cn.sasa.demo4; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; public class DBProperties {
public static String driver = "";
public static String url = "";
public static String user = "";
public static String pwd = ""; static {
// 类的加载器
try {
InputStream input = DBProperties.class.getClassLoader().getResourceAsStream("database.properties");
Properties properties = new Properties();
properties.load(input);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
pwd = properties.getProperty("pwd");
}catch(IOException ex) { } }
}
3、JDBC的工具类
package cn.sasa.demo4; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /***
* JDBC 工具类
* @author THTF
*
*/
public class JDBCUtil { private JDBCUtil() {} private static Connection conn; static {
try {
Class.forName(DBProperties.driver);
String url = DBProperties.url;
String user = DBProperties.user;
String pwd = DBProperties.pwd;
conn = DriverManager.getConnection(url, user, pwd);
}catch(Exception ex){
throw new RuntimeException(ex + "数据库连接失败");
}
} /**
* 获得连接
*/
public static Connection getConn() {
return conn;
} /**
* 关闭资源
*/
public static void close(Connection con, Statement state, ResultSet rs) {
if(con != null) {
try {
con.close();
}catch(SQLException ex){ }
}
if(state != null) {
try {
state.close();
}catch(SQLException ex){ }
}
if(rs != null) {
try {
rs.close();
}catch(SQLException ex){ }
}
} public static void close(Connection con, Statement state) {
if(con != null) {
try {
con.close();
}catch(SQLException ex){ }
}
if(state != null) {
try {
state.close();
}catch(SQLException ex){ }
}
}
}
4、测试类
package cn.sasa.demo4; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; public class TestJDBCUtil {
public static void main(String[] args) throws SQLException {
Connection conn = JDBCUtil.getConn(); String sql = "SELECT * FROM product;";
PreparedStatement pstate = conn.prepareStatement(sql);
ResultSet rs = pstate.executeQuery(); ArrayList<Product> plist = new ArrayList<Product>();
while(rs.next()) {
Product p = new Product(rs.getInt("pid"),
rs.getString("pname"),
rs.getDouble("price"),
rs.getString("ptype"),
rs.getString("create_tm")
);
plist.add(p);
} JDBCUtil.close(conn, pstate, rs); for(var p : plist) {
System.out.println(p.getPname() +"\t"+ p.getPrice());
}
}
}
java JDBC (五) properties配置文件的更多相关文章
- java 顺序 读写 Properties 配置文件
java 顺序 读写 Properties 配置文件 支持中文 不乱码 java 顺序 读写 Properties 配置文件 ,java默认提供的Properties API 继承hashmap ,不 ...
- Java加载Properties配置文件工具类
Java加载Properties配置文件工具类 import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; ...
- java 顺序 读写 Properties 配置文件 支持中文 不乱码
java 顺序 读写 Properties 配置文件 ,java默认提供的Properties API 继承hashmap ,不是顺序读写的. 特从网上查资料,顺序读写的代码,如下, import j ...
- Java中读取.properties配置文件的通用类
由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读 ...
- Java 读取application.properties配置文件中配置
实际开发中若需要读取配置文件application.properties中的配置,代码如下.例:读取配置文件中name属性配置值: 代码如下: import org.springframework.c ...
- java 如何读取 properties 配置文件
- Properties配置文件
package file; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
随机推荐
- 分布式系统CAP理论与CA选择
总结: CAP指的是数据一致性.服务可用性.分区容错性:(这里的一致性指的是强一致性,又叫原子性或线性一致性:可用性指的是所有读写操作都要能终止,没有时延上的要求) 分布式系统中P是必选项:在P必选的 ...
- ubuntu: apt-get update的时候遇到“Hash Sum mismatch”错误
http://blog.csdn.net/xjwjava/article/details/8543768 http://askubuntu.com/questions/140246/how-do-i- ...
- 这才是真正的裸眼3D!超级震撼!!
大家有没认为有意思啦,反正俺是被震撼到了. 好奇异-- ! " src="http://www.yixieshi.com/uploads/allimg/141116/1446431 ...
- Django model中设置多个字段联合唯一约束
Django中model部分的写法, 参见 unique-together 部分文档. class MyModel(models.Model): field1 = models.CharField(m ...
- day_6.22python多线程
僵尸进程:子进程结束,父类未结束 孤儿进程:父类进程over.,子进程未结束 0号进程负责运行,1号进程负责生成,所有孤儿进程的收容所(孤儿进程:父类进程over)1号进程,永不结束! Linux: ...
- nodejs yarn包管理工具
Yarn https://yarnpkg.com/zh-Hans/docs/install#windows-stable 安装包 Yarn Npm yarn npm i yarn global add ...
- java中常用的加密方式
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- Jenkins Docker安装及Docker build step插件部署配置
生产部署环境:A:192.168.1.2 B:192.168.1.3 两台服务器系统均是Centos 7.3 , Docker版本都1.12.6 Jenkins安装操作步骤: 1.在A服务器上使用命 ...
- MySQL语言 数据库练习题分解。
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 异常could not retrieve snapshot
前两天项目升级,项目部署到生产上之后,报错: could not retrieve snapshot 上网查的结果是: “.hbm.xml中的字段没有与数据库中一样,就是说有些字段在文件中有,但是在数 ...