Java課程設計---數據庫工具類


接下來看看傳統的查詢方式(一個完整的查詢)

package com.java.mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * <p>
 * Title: db.java
 * </p>
 * 
 * @author daxiang
 * @version 1.0 創建時間:2018年5月22日 上午8:00:22
 */
public class DB {
	public static void main(String[] args) {
		Connection con;// 聲明Connection對象
		String driver = "com.mysql.jdbc.Driver";// 驅動程序名
		String url = "jdbc:mysql://localhost:3306/db_student";// URL指向要訪問的數據庫名db_student
		String user = "root";// MySQL配置時的用戶名
		String password = "123";// MySQL配置時的密碼
		try {
			Class.forName(driver);// 加載驅動程序
			con = DriverManager.getConnection(url, user, password);// 使用getConnection()方法,連接MySQL數據庫!!
			if (!con.isClosed())
				System.out.println("成功連接mysql數據庫");
			// 2.創建statement類對象,用來執行SQL語句!!
			Statement statement = con.createStatement();
			// 要執行的SQL語句
			String sql = "select * from admin";
			// 3.ResultSet類,用來存放獲取的結果集!!
			ResultSet rs = statement.executeQuery(sql);
			System.out.println("-----------------");
			System.out.println("執行結果如下所示:");
			System.out.println("-----------------");
			System.out.println("id" + "\t" + "admin" + "\t" + "password");
			System.out.println("-----------------");
			
			// 遍歷查詢結果集
			while (rs.next()) {
				String id = rs.getString(1);// 獲取第一列數據
				String username = rs.getString(2); // 獲取第二列數據
				String pwd= rs.getString(3); // 獲取第三列數據
				System.out.println(id + "\t" + username + "\t" + pwd);// 輸出結果
			}
			rs.close();
			con.close();
		} catch (ClassNotFoundException e) {
			System.out.println("無法加載驅動");
			e.printStackTrace();// 數據庫驅動類異常處理
		} catch (SQLException e) {
			e.printStackTrace();// 數據庫連接失敗異常處理
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  上面完成了對db_student數據庫中admin表的查詢,而且得到了結果

  但是這樣的並沒有實現代碼復用,當別的實體需要查詢或者其他操作時,還需要重復的連接等過程,所以我們對常用操作進行封裝,將數據庫的基本“增、刪、查、改”封裝到一個類里面

  DbUtil.java(數據庫操作工具類)

package com.student.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * 項目名稱: 
 * 
 * 文件名稱為:DbUtil.java
 * 文件創建人:daxiang
 * 
 * 修改記錄:
 * 修改人  修改日期  備注
 * 
 * 
 * 
 * @author daxiang
 * @version 
 * @time  2018年6月14日 上午9:16:44
 * @copyright daxiang
 */
public class DbUtil {

	private Connection con;// 聲明Connection對象

	public DbUtil() {
		String driver = "com.mysql.jdbc.Driver";// 驅動程序名
		String url = "jdbc:mysql://localhost:3306/db_student?characterEncoding=utf8";// URL指向要訪問的數據庫名mysql
		String user = "root";// MySQL配置時的用戶名
		String password = "123";// MySQL配置時的密碼
		try {
			// 加載驅動
			Class.forName(driver);
			// 獲取連接
			con = DriverManager.getConnection(url, user, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 增、刪、改
	 * 
	 * @return
	 * @throws SQLException
	 */
	public boolean execute(String sql) throws SQLException {
		// 獲取操作對象
		Statement statement = con.createStatement();
		// 執行
		if (statement.executeUpdate(sql) > 0) {
			return true;
		}
		return false;
	}

	/**
	 * 查詢
	 * 
	 * @param sql
	 * @return
	 * @throws SQLException
	 */
	public ResultSet executeQuery(String sql) throws SQLException {
		// 獲取操作對象
		Statement statement = con.createStatement();
		// 執行
		return statement.executeQuery(sql);
	}

}

  

  AppConstants .java(常量參數類)

package com.demo.util;

/*
 * 項目名稱: 
 * 
 * 文件名稱為:AppConstants.java
 * 文件創建人:daxiang
 *
 * @author daxiang
 * @version 
 * @time  2018年6月13日 下午7:57:10
 * @copyright daxiang
 */
public class AppConstants {
	// jdbc
	public static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/db_student?characterEncoding=utf8";
	public static final String JDBC_USERNAME = "root";
	public static final String JDBC_PASSWORD = "123";
	public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

}

這樣封裝后我們就可以簡化服務類中的代碼,請看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM