Java連接數(shù)據(jù)庫,及增刪改查的示例
更新時間:2020年10月10日 08:42:41 作者:南方的墻
這篇文章主要介紹了Java連接數(shù)據(jù)庫,及增刪改查的示例,幫助大家更好的利用Java處理數(shù)據(jù),感興趣的朋友可以了解下
自定義連接數(shù)據(jù)庫的util類
package com.shuzf.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtil { // 定義驅(qū)動器類的路徑 private static final String DRIVER = "oracle.jdbc.driver.OracleDriver"; // 定義用于連接數(shù)據(jù)庫的URL private static final String URL = "jdbc:oracle:thin****l"; // 定義用于訪問數(shù)據(jù)庫的用戶名及密碼 private static final String USERNAME = "s****t"; private static final String PASSWORD = "t***r"; // 加載驅(qū)動器類 static { try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 定義獲得連接的方法 public static Connection getConnection() { Connection conn = null; ; try { conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return conn; } // 定義釋放數(shù)據(jù)庫資源的方法 public static void destory(Connection con, Statement stat, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stat != null) { try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
基本類
package com.shuzf.jdbc; public class Student { private Integer Id; private String Name; private String Sex; private int Age; public Student() { super(); } public Student(String name, String sex, int age) { Id = null; Name = name; Sex = sex; Age = age; } public Integer getId() { return Id; } public void setId(Integer id) { Id = id; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getSex() { return Sex; } public void setSex(String sex) { Sex = sex; } public int getAge() { return Age; } public void setAge(int age) { Age = age; } }
增刪改查
package com.shuzf.jdbc; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; public class JdbcTest { public int insert(Student student) { Connection conn = JDBCUtil.getConnection(); int i = 0; PreparedStatement pst = null; String sql = "insert into students (Name,Sex,Age,Addtime) values(?,?,?,?)"; try { pst = conn.prepareStatement(sql); pst.setString(1, student.getName()); pst.setString(2, student.getSex()); pst.setInt(3, student.getAge()); pst.setDate(4, new Date(new java.util.Date().getTime())); i = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtil.destory(conn, pst, null); } return i; } public int update(Student student) { Connection conn = JDBCUtil.getConnection(); int i = 0; PreparedStatement pst = null; String sql = "update students set Age='" + student.getAge() + "' where Name='" + student.getName() + "'"; try { pst = conn.prepareStatement(sql); i = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtil.destory(conn, pst, null); } return i; } public int delete(Student student) { Connection conn = JDBCUtil.getConnection(); int i = 0; PreparedStatement pst = null; String sql = "delete from students where Name='" + student.getName() + "'"; try { pst = conn.prepareStatement(sql); i = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtil.destory(conn, pst, null); } return i; } public ArrayList<Student> getStudent(String name) { Connection conn = JDBCUtil.getConnection(); PreparedStatement pst = null; ResultSet rs = null; ArrayList<Student> students = new ArrayList<Student>(); String sql = "select * from students where Name='" + name + "'"; try { pst = conn.prepareStatement(sql); rs = pst.executeQuery(); // int count = rs.getMetaData().getColumnCount();// 指示列數(shù)目的 int值 while (rs.next()) { Student s = new Student(); s.setId(rs.getInt("id")); s.setName(rs.getString("name")); s.setSex(rs.getString("sex")); s.setAge(rs.getInt("age")); students.add(s); } } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtil.destory(conn, pst, rs); } return students; } public static void main(String[] args) { // TODO Auto-generated method stub } }
以上就是Java連接數(shù)據(jù)庫,及增刪改查的示例的詳細內(nèi)容,更多關(guān)于Java 操作數(shù)據(jù)庫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現(xiàn)
這篇文章主要介紹了SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09java正則表達式表單驗證類工具類(驗證郵箱、手機號碼、qq號碼等)
這篇文章主要介紹了java使用正則表達式進行表單驗證工具類,可以驗證郵箱、手機號碼、qq號碼等方法,需要的朋友可以參考下2014-04-04關(guān)于spring data jpa一級緩存的問題
這篇文章主要介紹了關(guān)于spring data jpa一級緩存的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Spring監(jiān)聽器及定時任務(wù)實現(xiàn)方法詳解
這篇文章主要介紹了Spring監(jiān)聽器及定時任務(wù)實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07