java 操作数据库
? ?最近開始學習 jsp+servlet web開發, 操作數據庫必不可少,此文章詳細記錄了java 連接mysql的步驟
1.下載mysql-connector-java-3.1.10-bin 這個jar包,然后引入
2 建立jdbc對象
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(this.dbName,this.userName,this.userPasswd);
?
3創建?Statement 對象,用于操作執行sql語句
?Statement stmt = conn.createStatement();
4.執行sql 返回結果集(select)
??? ?ResultSet rs = stmt.executeQuery(sql);
5.操作結果集?
? 每天數據存為haspmap后放入list
?
? ?自己簡單的封裝了一下,代碼如下
? ??
package database;
import java.sql.*;
import java.util.*;
import com.alibaba.fastjson.JSONObject;
public class DbClass {
//成員屬性
private String userName;
private String userPasswd;
private String dbName;
//成員方法
public void setParam(String url,String user,String password){
this.userName = user;
this.userPasswd = password;
this.dbName = "jdbc:mysql://localhost/"+url;
}
//執行查詢的sql
public ArrayList selectQuery(String sql){
ArrayList list = new ArrayList();
try{
//加載驅動,這一句也可寫為:Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
//建立到MySQL的連接
Connection conn = DriverManager.getConnection(this.dbName,this.userName,this.userPasswd);
Statement stmt = conn.createStatement();//創建語句對象,用以執行sql語言
ResultSet rs = stmt.executeQuery(sql);
//獲取總列數
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount(); //總供的字段數
//list數組
Map rowData = new HashMap();
//處理結果集 存入list數組
while (rs.next())
{
rowData = new HashMap(columnCount);
for(int i=1;i<=columnCount;i++){
String columnName = metaData.getColumnName(i); ? ? ? ?//獲取每個字段
String value = rs.getString(columnName); ? ? ? ? ? ? ? ? ? ? ?//根據字段名稱獲取值
rowData.put(columnName,value); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//放入map
}
list.add(rowData); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //放入list
}
rs.close();//關閉數據庫
conn.close();
}catch(Exception ex){
System.out.println("Error : " + ex.toString());
}
return list;
}
??
轉載于:https://www.cnblogs.com/lilefordream/p/3356622.html
總結
以上是生活随笔為你收集整理的java 操作数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java序列化和克隆
- 下一篇: [转] 鼠标移入/移出颜色渐变