發佈一個Jdbc公共類CommonJdbc V1.0.0

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
--------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章