天天看點

JDBC程式設計-連接配接資料庫到對資料庫進行增删改查

一、JDBC程式設計步驟:

 1.加載資料庫驅動 

 2.獲得資料庫連接配接  

 3.通過Connection執行個體擷取Statement對象 

 4.使用Statement執行個體執行SQL語句  

 5.處理ResultRest結果集

 6.回收資料庫資源

二、具體代碼書寫 

1、【準備】驅動檔案(jar包)引入

(1)下載下傳對應版本jar包【下載下傳參考】【已會下載下傳,去官網】

(2)項目中手動加入jar包,并且加入classpath下

--- 下載下傳好的jar複制到lib檔案夾下,沒有就自己建立

JDBC程式設計-連接配接資料庫到對資料庫進行增删改查

---右鍵 buildpath--> add to build path

JDBC程式設計-連接配接資料庫到對資料庫進行增删改查

--- 完成

JDBC程式設計-連接配接資料庫到對資料庫進行增删改查

 2.加載資料庫驅動 

文法:Class.forName(“com.mysql.jdbc.Driver”);

public class DBConnection {
	private static final String url = "jdbc:mysql://localhost:3306/db_java";//資料庫路徑
	private static final String user = "root";//使用者名
	private static final String pwd = "12345678";//密碼
	private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驅動類
	// 1、加載驅動包
	static {
		// 捕捉異常
		try {
			Class.forName(DriverUrl);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
           

 3.獲得資料庫連接配接  

文法:Connection conn = DriverManager.getConnection(url, user, pwd);

url:資料庫路徑

user,使用者名

pwd 密碼

// 2、連接配接資料庫
	public static Connection getConn() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, pwd);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	
           

    連接配接測試結果如下:

測試類看完整代碼

JDBC程式設計-連接配接資料庫到對資料庫進行增删改查

     完整代碼:

/**
 * @author weijiangzhu 使用jdbc操作資料庫的步驟
 *  1、加載驅動包 
 *  2、連接配接資料庫 
 *  3、prepareStatement執行sql語句
 *  4、關閉相應資源
 *
 */
public class DBConnection {
	private static final String url = "jdbc:mysql://localhost:3306/db_java";//資料庫路徑
	private static final String user = "root";//使用者名
	private static final String pwd = "12345678";//密碼
	private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驅動類
	// 1、加載驅動包
	static {
		// 捕捉異常
		try {
			Class.forName(DriverUrl);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	// 2、連接配接資料庫
	public static Connection getConn() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, pwd);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	
	// 測試
	public static void main(String[] args) {
		Connection conn = DBConnection.getConn();
		System.out.println("連接配接:" + conn);

		}
	}
           

 加載連接配接常見錯誤

 4.增删改【使用的是同一個執行方法,在這裡以插入為例】

插入語句:insert into db_emp values(

           'no001','藏三','2004-5-6','南甯','總經理'

         );

為例子

/**
	 * 插入
	 * @param args
	 * 1、準備号sql語句:insert into db_emp values(
?,?,?,?,?);
     2、使用conn擷取prepareStatement對象,預處理sql
     3、給?指派
     4、執行sql:   updateExecuted()
	 * @throws SQLException 
	 */
	public static boolean insert(Emp emp) {//傳入的是實體類的對象
//		insert into db_emp values(
//				'no001','藏三','2004-5-6','南甯','總經理'
//				);
		String sql ="insert into db_emp values(?,?,?,?,?)";
		Connection conn = DBConnection.getConn();//調用連接配接的方法【在這裡檢視上半部分連接配接】
		PreparedStatement pst = null;
		int n = 0;
		try {
			pst = conn.prepareStatement(sql);
			pst.setString(1, emp.getNo());
			pst.setString(2, emp.getName());
			pst.setString(3, emp.getBirthday());
			pst.setString(4, emp.getAddress());
			pst.setString(5, emp.getPosition());
//			pst.setString(1, "no003");
//			pst.setString(2, "藏三");
//			pst.setString(3, "2004-5-6");
//			pst.setString(4, "南甯");
//			pst.setString(5, "總經理");
			n = pst.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//關閉資源
				try {
					if(conn!=null) {
					conn.close();
					}
					if(pst!=null) {
						pst.cancel();
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
			}
		}
		
		return n>0;
		
	}
           

 5.查詢

查詢使用的executeQuery()方法執行,ResultSet封裝查詢到的結果