原生Java操作mysql數(shù)據(jù)庫過程解析
這篇文章主要介紹了原生Java操作mysql數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1.引入數(shù)據(jù)庫驅(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ù)庫連接類DBUtil.java用以連接與關(guān)閉數(shù)據(jù)庫
//文件名: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ù)庫地址】:3306【端口】/【數(shù)據(jù)庫名稱】?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ù)庫的方法
- Java基于jdbc連接mysql數(shù)據(jù)庫操作示例
- Java對(duì)MySQL數(shù)據(jù)庫進(jìn)行連接、查詢和修改操作方法
- JavaWeb連接數(shù)據(jù)庫MySQL的操作技巧
- Java語言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫中數(shù)據(jù)的增刪改查操作的代碼
- java jdbc連接mysql數(shù)據(jù)庫實(shí)現(xiàn)增刪改查操作
- 如何在Java程序中訪問mysql數(shù)據(jù)庫中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作
相關(guān)文章
Layui前后臺(tái)交互數(shù)據(jù)獲取java實(shí)例
下面小編就為大家分享一篇Layui前后臺(tái)交互數(shù)據(jù)獲取java實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
解決Mybatis-plus自定義TypeHandler查詢映射結(jié)果一直為null問題
這篇文章主要介紹了解決Mybatis-plus自定義TypeHandler查詢映射結(jié)果一直為null問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Spring Boot應(yīng)用的極速部署腳本示例代碼
最近在工作中遇到了一個(gè)問題,需要極速的部署Spring Boot應(yīng)用,發(fā)現(xiàn)網(wǎng)上這方面的資料較少,所以自己來總結(jié)下,這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用的極速部署腳本的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
Java多線程之Callable接口的實(shí)現(xiàn)
這篇文章主要介紹了Java多線程之Callable接口的實(shí)現(xiàn),Callable和Runnbale一樣代表著任務(wù),區(qū)別在于Callable有返回值并且可以拋出異常。感興趣的小伙伴們可以參考一下2018-08-08
java如何用Processing生成馬賽克風(fēng)格的圖像
這篇文章主要介紹了如何用java如何用Processing生成馬賽克風(fēng)格的圖像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

