import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class JdbcAction {
// 創建靜態全局變量
static Connection conn;
static Statement st;
/* 獲取數據庫連接的函數*/
public static Connection getConnection() {
Connection con = null; //創建用於連接數據庫的Connection對象
try {
Class.forName("com.mysql.jdbc.Driver");// 加載Mysql數據驅動
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/pc", "root", "123456");// 創建數據連接
} catch (Exception e) {
System.out.println("數據庫連接失敗" + e.getMessage());
}
return con; //返回所建立的數據庫連接
}
public static void insert(Video v){
conn = getConnection(); // 首先要獲取連接,即連接到數據庫
try {
String sql = "INSERT INTO video(itemGuid, itemDate, itemEnUrl,itemEnType, itemAuthor, " +
"itemKeyword,itemDuration,itemDesc,itemLink,itemTitle )"
+ " VALUES ('"+v.getItemGuid()+"','"+v.getItemDate()+"','"+v.getItemEnUrl()+"','"+v.getItemEnType()+
"','"+v.getItemAuthor()+"','"+v.getItemKeyword()+"','"+v.getItemDuration()+"','"+v.getItemDesc()+"','"+
v.getItemLink()+"','"+v.getItemTitle()+"')"; // 插入數據的sql語句
System.out.println("sql="+sql);
st = (Statement) conn.createStatement(); // 創建用於執行靜態sql語句的Statement對象
int count = st.executeUpdate(sql); // 執行插入操作的sql語句,並返回插入數據的個數
System.out.println("向video表中插入 " + count + " 條數據"); //輸出插入操作的處理結果
conn.close(); //關閉數據庫連接
} catch (SQLException e) {
System.out.println("插入數據失敗" + e.getMessage());
}
}
public static boolean query(String guid) {
conn = getConnection(); //同樣先要獲取連接,即連接到數據庫
try {
String sql = "select * from video where itemGuid="+guid; // 查詢數據的sql語句
st = (Statement) conn.createStatement(); //創建用於執行靜態sql語句的Statement對象,st屬局部變量
ResultSet rs = st.executeQuery(sql); //執行sql查詢語句,返回查詢數據的結果集
while (rs.next()) { // 判斷是否還有下一個數據
return true ;
}
conn.close(); //關閉數據庫連接
} catch (SQLException e) {
System.out.println("查詢數據失敗");
}
return false;
}
public static List<Video> findAll() {
conn = getConnection(); //同樣先要獲取連接,即連接到數據庫
List<Video> vl = new ArrayList<Video>() ;
try {
String sql = "select * from video where state=400"; // 查詢數據的sql語句
st = (Statement) conn.createStatement(); //創建用於執行靜態sql語句的Statement對象,st屬局部變量
ResultSet rs = st.executeQuery(sql); //執行sql查詢語句,返回查詢數據的結果集
while (rs.next()) { // 判斷是否還有下一個數據
String itemGuid = rs.getString("itemGuid");
String itemDate = rs.getString("itemDate");
String itemTitle = rs.getString("itemTitle");
String itemLink = rs.getString("itemLink");
String itemDesc = rs.getString("itemDesc");
String itemDuration = rs.getString("itemDuration");
String itemKeyword = rs.getString("itemKeyword");
String itemAuthor = rs.getString("itemAuthor");
String itemEnType = rs.getString("itemEnType");
String itemEnUrl = rs.getString("itemEnUrl");
int state = rs.getInt("state");
Video v = new Video() ;
v.setItemAuthor(itemAuthor) ;
v.setItemDate(itemDate) ;
v.setItemDesc(itemDesc) ;
v.setItemDuration(itemDuration) ;
v.setItemEnType(itemEnType) ;
v.setItemEnUrl(itemEnUrl) ;
v.setItemGuid(itemGuid) ;
v.setItemKeyword(itemKeyword) ;
v.setItemLink(itemLink) ;
v.setItemTitle(itemTitle) ;
v.setState(state) ;
vl.add(v) ;
}
conn.close(); //關閉數據庫連接
} catch (SQLException e) {
System.out.println("查詢數據失敗");
}
return vl ;
}
/* 更新符合要求的記錄,並返回更新的記錄數目*/
public static void update(Video v) {
conn = getConnection(); //同樣先要獲取連接,即連接到數據庫
try {
String sql = "update video set state=402 where itemGuid="+v.getItemGuid();// 更新數據的sql語句
st = (Statement) conn.createStatement(); //創建用於執行靜態sql語句的Statement對象,st屬局部變量
int count = st.executeUpdate(sql);// 執行更新操作的sql語句,返回更新數據的個數
System.out.println("video表中更新 " + count + " 條數據"); //輸出更新操作的處理結果
conn.close(); //關閉數據庫連接
} catch (SQLException e) {
System.out.println("更新數據失敗");
}
}
}
java連接MySql數據庫和增刪改查代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.