Jdbc公共類CommonJdbc 使用Property類, PreparedStatement類開發,參考了網絡上的公共資源。
Jdbc公共類CommonJdbc V1.0.0 包括三個文件
1.jdbc_mysqlConfig.properties 數據庫配置文件可以更換爲你使用的數據庫jdbc URL;
2.CommonJdbc.java 核心類;
3.TestMy.java測試類 歡迎大家板磚!!!
jdbc_mysqlConfig.properties源代碼
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db_flex3
username=root
password=doit
CommonJdbc.java源代碼
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
public class CommonJdbc {
// jdbc連接對象
private Connection conn;
// 操作對象
private PreparedStatement pst;
// 結果集對象
private ResultSet rs;
// 配置文件對象
// private Properties pro;
// 返回配置文件對象
public static Properties getProperties() {
Properties prop = new Properties();
InputStream in = null;
try {
in = CommonJdbc.class.getResourceAsStream("jdbc_mysqlConfig.properties");
// in = TestMysql.class.getResourceAsStream("jdbc_mysqlCofing.properties");
prop.load(in);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException eio) {
eio.printStackTrace();
}
}
}
return prop;
}
/*
* 打開數據庫並創建連接對象 true 成功 false失敗
*/
public boolean openConn() {
boolean isPass = false;
// 從配置文件獲得jdbc鏈接
Properties props = getProperties();
String driver = props.getProperty("driver");
String url = props.getProperty("url");
String username = props.getProperty("username");
String password = props.getProperty("password");
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
isPass = true;
} catch (ClassNotFoundException nfe) {
closeAll();
nfe.printStackTrace();
System.out.println("Database connection false!");
isPass = false;
} catch (SQLException se) {
closeAll();
se.printStackTrace();
isPass = false;
}
return isPass;
}
/*
* 新增和修改 操作一張表
*/
public boolean excuteUpdate(String sql) {
boolean isPassed = false;
// 判斷數據庫是否連通
if (openConn()) {
try {
conn.setAutoCommit(false);
pst = conn.prepareStatement(sql);
pst.execute();
conn.commit();
isPassed = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.print("SQL:" + sql);
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed = true;
}
/*
* 新增或者更新多個表 數組
*/
public boolean excuteUpdate(String[] sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.length; i++) {
pst = conn.prepareStatement(sql[i]);
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.length; i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 新增或者更新多個表 List
*/
public boolean excuteUpdate(List<String> sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.size(); i++) {
pst = conn.prepareStatement(sql.get(i));
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.size(); i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 返回結果集ResuletSet
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
if (openConn()) {
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
closeAll();
System.out.print("SQL:" + sql);
System.out.println("ERROR:Databse disconnected!");
e.printStackTrace();
}
}
return rs;
}
/*
* closeAll()關閉所有數據庫鏈接對象
*/
public void closeAll() {
if (conn != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (pst != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
}
TestMy.java測試類
package test;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.kylin.jdbc.CommonJdbc;
public class TestMy {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String sql="select * from userinfo";
CommonJdbc cj=new CommonJdbc();
ResultSet rst=cj.executeQuery(sql);
try {
while(rst.next()){
System.out.println("ID:"+rst.getString(1));
System.out.println("UserName:"+rst.getString(2));
System.out.println("PassWord:"+rst.getString(3));
System.out.println("--------------------------");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
測試結果
ID:1
UserName:admin
PassWord:admin
--------------------------
ID:2
UserName:luoxiaoxia
PassWord:lxx
--------------------------
ID:3
UserName:Williams
PassWord:king
--------------------------
ID:4
UserName:lucy
PassWord:lucy
--------------------------
ID:5
UserName:lucy2
PassWord:lucy2
--------------------------