1. 程式人生 > >Java學習--JDBC操作資料庫(直析操作)

Java學習--JDBC操作資料庫(直析操作)

1.瞭解JDBC的常用類和介面

DriverManager類  用來管理資料庫中的所有驅動程式

Connection介面   代表與特定的資料庫的連線

Statement介面      用於建立向資料庫中傳遞SQL語句的物件

PreparedStatement 介面  PreparedStatement 介面繼承Statement,用於執行動態的SQL語句

ResultSet 介面    用來暫時存放資料庫查詢操作所獲得的結果集

2. MySQL資料庫安裝、與表(user)建立

3..例項demo

3.1 載入MySQL JDBC驅動      mysql-connector-java-5.1.31-bin.jar

3.2例項程式碼

import java.sql.*;

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

//import com.mysql.jdbc.Connection;


public class ToStringTrame {

	public Connection getConn() throws SQLException{
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		String url="jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";
		String userName="root";
		String passWord="123456";
		Connection conn = DriverManager.getConnection(url, userName, passWord);


//               連線另外操作
//		java.sql.Connection conn = null;
//		try {
//		 	conn = DriverManager.getConnection(url, userName, passWord);
//			if (conn!=null){}
//		} catch (SQLException e) {
//			// TODO: handle exception
//			e.printStackTrace();
//		}
		//java.sql.Connection conn = null;
		
		
		
//		資料插入方法1
//		String sql="insert into user(ID,name,age) value('8','王三','5')";
//		Statement stmt = conn.createStatement();
//		stmt.executeUpdate(sql);

//		資料插入方法2
		
//		for (int i=1;i<10;i++){
//		String sql = "insert into user(ID,name,age) value(?,?,?)";
//		PreparedStatement ps = conn.prepareStatement(sql);
//		
//		
//		ps.setInt(1, 19+i);
//		ps.setString(2, "李四"+i);
//		ps.setInt(3, 25+i);
//		
//		
//		ps.executeUpdate();
//		}


//		查詢資料方法1
		
//		Statement stmt=conn.createStatement();
//		String sql="select * from user";
//		ResultSet rs =stmt.executeQuery(sql);
//		int id,age;
//		String name;
//		System.out.println("編號\t 使用者名稱\t 年齡");
//		while(rs.next()){
//			id=rs.getInt("ID");
//			name=rs.getString("name");
//			age=rs.getInt("age");
//			System.out.println(id+"\t"+name+"\t"+age);
//		}
//		
		
	//修改資料1	
//		String sql="update user set name='咋那個三2' where ID=23";
//		Statement stmt=conn.createStatement();
//		stmt.executeUpdate(sql);
		
	//修改資料2
//		int counts=0;
//		for (int i=1;i<10;i++){
//		String sql="update user set name=? where id=?";
//		PreparedStatement ps=conn.prepareStatement(sql);
//		ps.setString(1,"張三"+i);
//		ps.setInt(2, 20+i);
//		ps.executeUpdate();
//		counts++;
//		}
//		System.out.println(counts);
		


//		刪資料
//		String sql="delete from user where id = 23";
//		Statement stmt=conn.createStatement();
//		stmt.executeUpdate(sql);
//		
//		conn.close();
//		System.out.println("UPsucess");
		return conn;
	}
	
	
	public static void main(String[] args) throws SQLException {
		// TODO Auto-generated method stub
		
		ToStringTrame tt=new ToStringTrame();
		tt.getConn();                                                        
	
	}
}