配置文件
database=oracle
##oracle
oracleUrl=jdbc:oracle:thin:@localhost:1521:orcl
oracleUser=hrm
oraclePassword=hrm
oracleDriver=oracle.jdbc.driver.OracleDriver
##mysql
sqlUrl=jdbc:mysql://localhost:8145/hrm
sqlUser=hrm
sqlPassword=hrm
sqlDriver=com.mysql.jdbc.Driver
工具类封装
package edu.gszy.HRM.login.utils;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class DBUtils {
//对于一些变量的初始化
private static String database=null;
private static String url=null;
private static String user=null;
private static String password=null;
private static String driver=null;
static{
try {
//创建一个properties对象
Properties prop=new Properties();
//固定写法,实现对配置文件的链接
prop.load(DBUtils.class.getClassLoader().getResourceAsStream("DBUtil.properties"));
//获取其中元素
database = prop.getProperty("database");
url=prop.getProperty(database+"Url");
user=prop.getProperty(database+"User");
password=prop.getProperty(database+"Password");
driver=prop.getProperty(database+"Driver");
//加载驱动
Class.forName("driver");
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
//实现连接
public static Connection getConn(){
Connection conn=null;
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//实现
public static PreparedStatement getPstmt(Connection conn,String sql){
PreparedStatement pstmt=null;
try {
pstmt=conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
//关闭
public static void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){
try {
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//添加参数
public static void setValues(PreparedStatement pstmt,Object...values){
for(int i=0;i<values.length;i++){
try {
pstmt.setObject(i+1, values[i]);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
对jdbc封装方法的实际操作(截取)
//准备连接数据对象 Connection conn=null; PreparedStatement pstmt = null; ResultSet rs=null; try { // conn=DBUtils.getConn(); String sql="select * from tb_EmployeeInfo where username=? and password=?"; pstmt=DBUtils.getPstmt(conn, sql); pstmt.setString(1, username); pstmt.setString(2, password); rs=pstmt.executeQuery(); if(rs.next()){ flag=true; } } catch (SQLException e) { e.printStackTrace(); }finally{ DBUtils.closeAll(conn, pstmt, rs); }