java操作數據庫的基本方法


此次開發工具為eclipse,才有的數據庫驅動是mysql-connector-java-5.1.8-bin.jar

 

第一步,在eclipse的工程目錄中引用mysql驅動

驅動下載地址:https://dev.mysql.com/downloads/connector/j/

選擇build path 然后選擇configure build path

再選擇libraries,選擇add external library,找到之前下的數據庫驅動,確認,ok

然后下一段測試代碼將數據庫驅動起來

public class test {

    public static void main(String []args) {
        try {
            //mysql數據庫設置驅動程序類型
            Class.forName("com.mysql.jdbc.Driver"); 
            System.out.println("mysql數據庫驅動加載成功");
            
            
        }
        catch(ClassNotFoundException e) {
            e.printStackTrace();
        }    
    }
}

驅動代碼運行一次就行了,之后就是操作數據庫了

基本操作增改刪查,原理都是一樣的

先創建一個Connection對象

Connection connection = null;
String user="root";//用戶名
String password="19980713";//密碼
String url = "jdbc:mysql://localhost:3306/task?user="+user+"&password="+password+"&useUnicode=true&characterEncoding=utf-8";//獲得連接的語句
try{
     connection = (Connection)DriverManager.getConnection(url);
   }catch(SQLException e){
      e.printStackTrace();
   }

 

獲得連接之后就是對connection進行操作了

查詢記錄

String sql = "select id,name,job,department,state,authority from worker;";
try {
                    
                    PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql);//預編譯過程
                    ResultSet rs = ps.executeQuery();//查詢一般用executeQuery,返回的是查詢的結果集
                    //下面是對結果集進行操作
                     while(rs.next()) {
                         count++;
                         Vector v = new Vector();
                         v.add((rs.getString(1)));
                         v.add((rs.getString(2)));
                         v.add((rs.getString(3)));
                         v.add((rs.getString(4)));
                         v.add((rs.getString(5)));
                         v.add((rs.getString(6)));
                         worker.add(v);
                     }
                }catch(SQLException e1) {
                    e1.printStackTrace();
                }

 

插入記錄

String sql = "insert into worker(name) "
					+"value("+ ""\"小明"\"" + ")";
PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql);
try {
						PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql);
						if(ps.executeUpdate()==1){//返回一個int值表示返回的條數
							int n = JOptionPane.showConfirmDialog(null, "添加成功,是否繼續添加?", "系統提示",JOptionPane.YES_NO_OPTION); 
							if(n == 0){
								//清空面板
								name.setText("");
								sex.setText("");
								authority.setText("");
								birthday.setText("");
								department.setText("");
								job.setText("");
								email.setText("");
								state.setText("");
								remark.setText("");
								specialty.setText("");
								address.setText("");
								tel.setText("");
								edu_level.setText("");
							}else{
								dispose();
								JoinNewMember frame = new JoinNewMember();
							}
						}
					} catch (SQLException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					} 

 其余操作就不貼代碼了,以此類推就是的,我先准備一下六級去了,要不待會再來更新

 

2018/06/16/18:39更新 考完六級回來了 段落匹配放最后面的  沒做完 虧了  十二月份再來哈哈哈哈

補上:

上面之所以不貼代碼是因為套路都一樣

先實例化一個Connection對象,然后調用prepareStatement()將SQL語句帶入其中進行預編譯

然后根據情況調用execute executeUpdate 或者executeQuery

下面來了解一下這三個函數execute() executeQuery() executeUpdate()的區別和適用情況

 

executeQuery()顧名思義----執行查詢

返回的是一個結果集,我們對結果集進行處理得到我們想要的數據.

結果集的組成是行列的,行是指例句,列指屬性,rs.next()可以看做一個迭代過程

executeUpdate顧名思義---執行更新

對應的一般就是用於執行 INSERT、UPDATE 或 DELETE或者一些定義數據庫的語句,例如CREATE TABLE等,返回值是執行操作收到影響的行數

關於execute,我剛開始以為挺簡單的,后來才發現我低估了他的用途,我等菜鳥不敢隨意總結,我在別的地方看到一個挺好的詳解:

方法execute

 
        

 


免責聲明!

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



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