Java連接數(shù)據(jù)庫(kù),及增刪改查的示例
自定義連接數(shù)據(jù)庫(kù)的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ū)動(dòng)器類的路徑
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
// 定義用于連接數(shù)據(jù)庫(kù)的URL
private static final String URL = "jdbc:oracle:thin****l";
// 定義用于訪問(wèn)數(shù)據(jù)庫(kù)的用戶名及密碼
private static final String USERNAME = "s****t";
private static final String PASSWORD = "t***r";
// 加載驅(qū)動(dòng)器類
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ù)庫(kù)資源的方法
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ù)庫(kù),及增刪改查的示例的詳細(xì)內(nèi)容,更多關(guān)于Java 操作數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 詳解Java數(shù)據(jù)庫(kù)連接JDBC基礎(chǔ)知識(shí)(操作數(shù)據(jù)庫(kù):增刪改查)
- java 數(shù)據(jù)庫(kù)連接與增刪改查操作實(shí)例詳解
- Java連接MySQL數(shù)據(jù)庫(kù)增刪改查的通用方法(推薦)
- Java語(yǔ)言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫(kù)中數(shù)據(jù)的增刪改查操作的代碼
- java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作
- 使用Java增刪改查數(shù)據(jù)庫(kù)的操作方法
相關(guān)文章
idea?compile項(xiàng)目正常啟動(dòng)項(xiàng)目的時(shí)候build失敗報(bào)“找不到符號(hào)”等問(wèn)題及解決方案
這篇文章主要介紹了idea?compile項(xiàng)目正常,啟動(dòng)項(xiàng)目的時(shí)候build失敗,報(bào)“找不到符號(hào)”等問(wèn)題,這種問(wèn)題屬于lombok編譯失敗導(dǎo)致,可能原因是依賴jar包沒(méi)有更新到最新版本,需要的朋友可以參考下2023-10-10
解決springboot configuration processor對(duì)maven子模塊不起作用的問(wèn)題
這篇文章主要介紹了解決springboot configuration processor對(duì)maven子模塊不起作用的問(wèn)題,本文通過(guò)圖文實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
Java8的DateTimeFormatter與SimpleDateFormat的區(qū)別詳解
這篇文章主要介紹了Java8的DateTimeFormatter與SimpleDateFormat的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟
這篇文章主要介紹了SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下2021-05-05
一文解決pom.xml報(bào)錯(cuò)Dependency "xxx" not f
我們?cè)谑褂胢aven進(jìn)行jar包管理時(shí)有時(shí)會(huì)遇到pom.xml中報(bào)錯(cuò)Dependency “XXX” not found,所以在本文中將給大家介紹一下pom.xml報(bào)錯(cuò)Dependency "xxx" not found的解決方案,需要的朋友可以參考下2024-01-01
SpringCloud中Sentinel基礎(chǔ)場(chǎng)景和異常處理方式
這篇文章主要介紹了SpringCloud中Sentinel基礎(chǔ)場(chǎng)景和異常處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04

