package top.gaojc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
// 1.載入驅動程式(專案中新增驅動包)
static{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 2.使用DriverManager連線資料庫
public static Connection getConn(){
Connection conn = null;
try {
// ("jdbc:執行環境://localhost:埠號;databaseName=資料庫名稱","SQL賬號","SQL密碼")
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=school", "sa", "1");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 7.關閉資源
public static void Close(Connection conn,PreparedStatement ps,ResultSet rs){
try {
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package top.gaojc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Insert {
public static void main(String[] args) throws SQLException {
// 從控制檯輸入我想新增的資料
System.out.println("請輸入需要新增的資料:");
Scanner scan = new Scanner(System.in);
System.out.print("姓名:");
String name = scan.nextLine();
System.out.print("性別:");
String sex = scan.nextLine();
System.out.print("年齡:");
int age = scan.nextInt();
// 1 2 呼叫DBUtil
Connection conn = DBUtil.getConn();
// 3.準備一個sql語句
String sql = "insert into student(name,sex,age) values (?,?,?)";
// 4.準備一個和資料庫打交道的
PreparedStatement ps = conn.prepareStatement(sql);
// 給sql語句中的?賦值
ps.setString(1, name);
ps.setString(2, sex);
ps.setInt(3, age);
// 5.結果賦值
int count = ps.executeUpdate();
// 6.輸出
if (count > 0) {
System.out.println("新增成功!");
}else{
System.out.println("新增失敗!");
}
// 7.呼叫DBUtil
DBUtil.Close(conn, ps, null);
}
}
原資料:
執行
新增之後的資料:
package top.gaojc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Delete {
public static void main(String[] args) throws SQLException {
// 從控制檯輸入我想刪除的資料id
System.out.print("請輸入需要刪除的資料id:");
Scanner scan = new Scanner(System.in);
int id = scan.nextInt();
// 1 2 呼叫DBUtil
Connection conn = DBUtil.getConn();
// 3.準備一個sql語句
String sql = "delete from student where id = ?";
// 4.準備一個和資料庫打交道的
PreparedStatement ps = conn.prepareStatement(sql);
// 給sql語句中的?賦值
ps.setInt(1, id);
// 5.結果賦值
int count = ps.executeUpdate();
// 6.輸出
if (count > 0) {
System.out.println("刪除成功!");
} else {
System.out.println("刪除失敗!");
}
// 7.呼叫DBUtil
DBUtil.Close(conn, ps, null);
}
}
原資料:
執行
刪除之後的資料:
package top.gaojc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Update {
public static void main(String[] args) throws SQLException {
// 從控制檯輸入我想修改的資料
Scanner scan = new Scanner(System.in);
System.out.print("請輸入新的姓名:");
String name = scan.nextLine();
System.out.print("請輸入新的性別:");
String sex = scan.nextLine();
System.out.print("請輸入新的年齡:");
int age = scan.nextInt();
System.out.print("請輸入需要修改的資料id:");
int id = scan.nextInt();
// 1 2 呼叫DBUtil
Connection conn = DBUtil.getConn();
// 3.準備一個sql語句
String sql = "Update student set name=?,sex=?,age=? where id = ?";
// 4.準備一個和資料庫打交道的
PreparedStatement ps = conn.prepareStatement(sql);
// 給sql語句中的?賦值
ps.setString(1, name);
ps.setString(2, sex);
ps.setInt(3, age);
ps.setInt(4, id);
// 5.結果賦值
int count = ps.executeUpdate();
// 6.輸出
if (count > 0) {
System.out.println("修改成功!");
} else {
System.out.println("修改失敗!");
}
// 7.呼叫DBUtil
DBUtil.Close(conn, ps, null);
}
}
原資料:
執行
修改之後的資料:
package top.gaojc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Select {
public static void main(String[] args) throws SQLException {
System.out.println(" 學生資訊表");
// 1 2 呼叫DBUtil
Connection conn = DBUtil.getConn();
// 3.準備一個sql語句
String sql = "select * from student";
// 4.準備一個和資料庫打交道的
PreparedStatement ps = conn.prepareStatement(sql);
// 5.使用ResultSet接收ps執行的結果
ResultSet rs = ps.executeQuery();
// 6.資料的展示
while (rs.next()) {
System.out.println("編號:"+rs.getString("id")+" 姓名:"+rs.getString("name")+
" 性別:"+rs.getString("sex")+" 年齡:"+rs.getString("age"));
}
// 7.呼叫DBUtil
DBUtil.Close(conn, ps, rs);
}
}
package top.gaojc;
import java.sql.SQLException;
import java.util.Scanner;
public class StudentMain {
public static void main(String[] args) throws SQLException {
while (true) {
// 呼叫功能
System.out.println("學生管理系統");
System.out.println("0:退出系統");
System.out.println("1:新增學生資訊");
System.out.println("2:刪除學生資訊");
System.out.println("3:修改學生資訊");
System.out.println("4:查詢所有學生資訊");
System.out.print("請輸入相應的編號完成相應的功能:");
Scanner scan = new Scanner(System.in);
int index = scan.nextInt();
if (index == 0) {
System.out.println("已退出!");
break;
} else if (index == 1) {
Insert.main(args);
} else if (index == 2) {
Delete.main(args);
} else if (index == 3) {
Update.main(args);
} else if (index == 4) {
Select.main(args);
} else {
System.out.print("輸入錯誤!");
}
}
}
}