原生Java操作mysql數(shù)據(jù)庫(kù)過程解析
這篇文章主要介紹了原生Java操作mysql數(shù)據(jù)庫(kù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1.引入數(shù)據(jù)庫(kù)驅(qū)動(dòng)的jar包 以通過maven引入mysql driver為例
1.1 到http://mvnrepository.com 搜索 mysql

1.2 復(fù)制所需maven配置文件到工程的 pom.xml

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency>
2.創(chuàng)建數(shù)據(jù)庫(kù)連接類DBUtil.java用以連接與關(guān)閉數(shù)據(jù)庫(kù)
//文件名:DBUtil.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
static String user = "root";
static String password = "root";
static String url = "jdbc:mysql://localhost【數(shù)據(jù)庫(kù)地址】:3306【端口】/【數(shù)據(jù)庫(kù)名稱】?serverTimezone=UTC";
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeJDBC(ResultSet rs, Statement stmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3.在java代碼中對(duì)表進(jìn)行操作
3.1 查,刪,改類似
//查找table表重的 id和name
String sql = "select id,name from table";
Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = null;
try {
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
json = ResultSetToJson.ResultSetToJsonArray(rs);
}catch (SQLException e){
try {
conn.rollback();
}catch (SQLException e1){
e1.printStackTrace();
}
}finally {
DBUtil.closeJDBC(null, pstmt, conn);
}
return json;
3.1 增
int basicinfoID = 0;
String sql = "INSERT INTO tb_resume_basicinfo("
+ "basicinfo_id, realname, gender, birthday, current_loc, "
+ "resident_loc, telephone, email, job_intension, job_experience, head_shot,applicant_id) "
+"VALUES(SEQ_ITOFFER_RESUMEBASICINFO.NEXTVAL,?,?,?,?,?,?,?,?,?,?,?)";
Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = null;
try {
// 關(guān)閉自動(dòng)提交
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, basicinfo.getRealName());
pstmt.setString(2, basicinfo.getGender());
pstmt.setTimestamp(3, basicinfo.getBirthday() == null ? null
: new Timestamp(basicinfo.getBirthday().getTime()));
pstmt.setString(4, basicinfo.getCurrentLoc());
pstmt.setString(5, basicinfo.getResidentLoc());
pstmt.setString(6, basicinfo.getTelephone());
pstmt.setString(7, basicinfo.getEmail());
pstmt.setString(8, basicinfo.getJobIntension());
pstmt.setString(9, basicinfo.getJobExperience());
pstmt.setString(10, basicinfo.getHeadShot());
pstmt.setInt(11, applicantID);
pstmt.executeUpdate();
} catch (SQLException e) {
try {
// 事務(wù)回滾
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
DBUtil.closeJDBC(null, pstmt, conn);
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)基于JDBC操作mysql數(shù)據(jù)庫(kù)的方法
- Java基于jdbc連接mysql數(shù)據(jù)庫(kù)操作示例
- Java對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行連接、查詢和修改操作方法
- JavaWeb連接數(shù)據(jù)庫(kù)MySQL的操作技巧
- Java語(yǔ)言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫(kù)中數(shù)據(jù)的增刪改查操作的代碼
- java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作
- 如何在Java程序中訪問mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作
相關(guān)文章
Java Swing JTextArea文本區(qū)域的實(shí)現(xiàn)示例
這篇文章主要介紹了Java Swing JTextArea文本區(qū)域的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
idea如何為java程序添加啟動(dòng)參數(shù)
文章介紹了如何在Java程序中添加啟動(dòng)參數(shù),包括program arguments、VM arguments和Environment variables,并解釋了如何在代碼中使用System類獲取這些參數(shù)2025-01-01
Java實(shí)現(xiàn)“年-月-日 上午/下午時(shí):分:秒”的簡(jiǎn)單代碼
當(dāng)前的日期輸出的方法有很多,本文為大家介紹下在java中是如何實(shí)現(xiàn)“年-月-日 上午/下午時(shí):分:秒”,感興趣的朋友不妨參考下2015-08-08
java中使用雙向鏈表實(shí)現(xiàn)貪吃蛇程序源碼分享
這篇文章主要介紹了java中使用雙向鏈表實(shí)現(xiàn)貪吃蛇程序源碼分享,本文直接給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03
Spring Session實(shí)現(xiàn)分布式session的簡(jiǎn)單示例
本篇文章主要介紹了Spring Session實(shí)現(xiàn)分布式session的簡(jiǎn)單示例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05
Java GUI編程之貪吃蛇游戲簡(jiǎn)單實(shí)現(xiàn)方法【附demo源碼下載】
這篇文章主要介紹了Java GUI編程之貪吃蛇游戲簡(jiǎn)單實(shí)現(xiàn)方法,詳細(xì)分析了貪吃蛇游戲的具體實(shí)現(xiàn)步驟與相關(guān)注意事項(xiàng),并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-09-09

