利用JDBC在java中實作資料庫連接查詢等操作
在資料庫軟體中建立資料庫:
#建立資料庫
CREATE DATABASE TEST1;
#建立表
CREATE TABLE IF EXISTS dept;
#建立表名
CREATE TABLE dept (
depno int(11) NOT NULL,
dname varchar(20) DEFAULT NULL,
locvarchar(30) DEFAULT NULL,
PRIMARY KEY (depno)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#輸入資料
insert into dept values (10,‘后勤’,‘房間10’),(20,‘運營’,‘房間20’),(30,‘銷售’,‘房間30’);
#查詢資料
SELECT *FROM dept;

Java實作資料庫連接:
使用idea軟體匯入jar包的方法可以參考這位博主的文章IDEA匯入jar包的方法
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBHelper {
// Mysql5.5及以上版本需要在資料庫名稱test1后面添加?charart---等解釋,5.5以下的版本則不用
public static final String URL="JDBC:mysql://localhost:3306/test1?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
// 資料庫賬號
public static final String USERNAME="root";
// 賬號密碼
public static final String PSW="123456";
public static Connection Conn;
public static Connection getConn(){
try {
Class.forName("com.mysql.cj.jdbc.Driver");
try {
Conn = DriverManager.getConnection(URL,USERNAME,PSW);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return Conn;
}
// 關閉資料庫
public static void closeconn(Connection conn){
if (Conn!=null){
try {
Conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//若不為空則代表連接成功
public static void main(String[] args) {
System.out.println(DBHelper.getConn());
}
}
輸出結果:

建立查詢所有資訊和查詢某個部門資訊的介面:
public interface UserInfoDao {
// 查詢所有資訊
public List<UserInfo> findAllUser();
// 查詢某個部門資訊
public UserInfo findUserById(int id);
}
建立資料資訊類:
public class UserInfo {
private int depno;
private String dname;
private String loc;
public int getDepno() {
return depno;
}
public void setDepno(int depno) {
this.depno = depno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
public UserInfo(int depno, String dname, String loc) {
super();
this.depno = depno;
this.dname = dname;
this.loc = loc;
}
public UserInfo() {
super();
}
}
實作介面的類:
import cn.zc.Dao.UserInfoDao;
import cn.zc.entity.UserInfo;
import cn.zc.util.DBHelper;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
//查詢所有部門資訊
public class UserInfoDaoImpl implements UserInfoDao {
@Override
public List<UserInfo> findAllUser() {
List<UserInfo> lists = new ArrayList<UserInfo>();
// 獲取資料庫連接物件
Connection conn = DBHelper.getConn();
// 書寫SQL陳述句操作資料庫
String sql = "select *from dept";
// 預編譯sql陳述句
try {
PreparedStatement ps = conn.prepareStatement(sql);
// 查詢
ResultSet rs = ps.executeQuery();
// 回圈輸出
while (rs.next()) {//有資料則回傳ture
UserInfo ui = new UserInfo();
ui.setDepno(rs.getInt(1));
ui.setDname(rs.getString(2));
ui.setLoc(rs.getString(3));
lists.add(ui);
}
} catch (SQLException e) {
e.printStackTrace();
}
return lists;
}
//查詢某個部門的類
@Override
public UserInfo findUserById(int no) {
// 獲取資料庫連接物件
UserInfo ui = null;
Connection conn = DBHelper.getConn();
// 書寫SQL陳述句操作資料庫
String sql = "select *from dept where depno=?";
// 預編譯sql陳述句
try {
PreparedStatement ps = conn.prepareStatement(sql);
// 賦值
ps.setInt(1,no);
// 查詢
ResultSet rs = ps.executeQuery();
// 回圈輸出
while (rs.next()) {//有資料則回傳ture
ui = new UserInfo();
ui.setDepno(rs.getInt(1));
ui.setDname(rs.getString(2));
ui.setLoc(rs.getString(3));
}
} catch (SQLException e) {
e.printStackTrace();
}
return ui;
}
}
具體實作類:
import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;
import cn.zc.entity.UserInfo;
import java.util.List;
public class Test {
public static void main(String[] args) {
//查詢輸出所有資訊
UserInfoDao depno = new UserInfoDaoImpl();
List<UserInfo> list = depno.findAllUser();
for (UserInfo u : list) {
System.out.println(u.getDepno()+"\t"+u.getDname()+"\t"+u.getLoc());
}
//查詢部門號為20的資料
UserInfo ui = depno.findUserById(20);
if (ui!=null){
System.out.println("找到部門資訊");
System.out.println(ui.getDepno()+"\t"+ui.getDname()+"\t"+ui.getLoc());
}else{
System.out.println("沒有這個部門");
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230715.html
標籤:java
