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