本示例演示通過控制台輸入輸出,完成考生信息的數據庫插入與查詢操作,涵蓋 JDBC 工具類封裝、實體類、DAO 模式、屬性配置等基礎架構,適合初學者理解 Java 數據庫編程全流程。
表 exam_student 包含字段:flow_id(PK)、type、id_card、exam_card、student_name、location、grade。
examStudent:實體類、DAO、測試入口properties:JDBC 配置文件tools:JDBC/SQL 通用工具類package examStudent;
public class ExamStudent {
private int flowId, type, idCard, examCard, grade;
private String studentName, location;
// getter/setter 省略
}
jdbcName=mySql
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/dic
user=root
password=123456
update(sql):執行 INSERT/UPDATE/DELETEfindOne(sql):執行 SELECT,使用 ResultSetMetaData 將結果映射為 List<Map>update():Scanner 讀取控制台輸入 → 構建實體 → 拼接 SQL 插入findByIdCard(idCard) / findByExamCard(examCard):參數化查詢(示例為字符串拼接,生產應用 PreparedStatement)public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("輸入1插入,輸入2查詢");
int temp = sc.nextInt();
if (temp == 1) esd.update();
else if (temp == 2) { /* 查詢邏輯 */ }
}
控制台交互式輸入考生信息,插入成功提示;查詢時按身份證/准考證號碼檢索,輸出結果或"查無此人"。
PreparedStatementList<Map> 非強類型 → 改用 ORM 或 RowMapper注意:需將 MySQL 驅動包放入 lib 目錄並加入構建路徑。入口為 TestExamStudent.main()。