先展示运行结果
1.查询全部班号![在这里插入图片描述](https://img-blog.csdnimg.cn/20210402233051137.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoaDFjdHJs,size_16,color_FFFFFF,t_70#pic_center)
2.通过ID查询
修改航班
这里我删除了ID为1和2 的航班
查看数据库的结果
目的地查询
(额那个base_dao没用到是之前没删掉多余的文件)
下面是我的代码
1.main类程序的入口
package JDBC_AIR_SYSTEM;
import java.text.ParseException;
public class main {
public static void main(String[] args) throws ParseException {
view v=new view();
m: while(true){
v.welcome();
while(true){
int choose=v.menu();
switch(choose) {
case 1:v.display();
continue ;
case 2:v.getById();
continue ;
case 3:v.getByDate();
continue ;
case 4:v.getByDes();
continue;
case 5:v.delete();
continue ;
case 6:v.alter();
continue ;
case 7:break m ;
}
}
}
v.bye();
}
}
2.view类(人机交互的窗口)
package JDBC_AIR_SYSTEM;
import JDBC_AIR_SYSTEM.dao.air_info_dao;
import java.sql.ResultSet;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class view {
void welcome(){
System.out.println("*************欢迎使用航班信息管理系统*****************");
}
int menu(){
System.out.println("请选择");
System.out.println("1.列出所有航班");
System.out.println("2.按照飞机ID查询");
System.out.println("3.按起飞时间查询");
System.out.println("4.按目的地查询");
System.out.println("5.删除航班");
System.out.println("6.更新航班");
System.out.println("7.退出");
Scanner input=new Scanner(System.in);
String choose=input.nextLine();
int i = 0;
try {
i = Integer.valueOf(choose).intValue();
} catch (NumberFormatException e) {
System.out.println("输入的不是数字请重新输入");
return menu();
}
if (i > 7 || i < 0) {
System.out.println("输入的范围错误请重新输入");
return menu();
}
return i;
}
void bye(){
System.out.println("再见,欢迎下次使用");
}
void getById(){
air_info_dao ai = new air_info_dao();
System.out.println("请输入航班id");
Scanner input=new Scanner(System.in);
String choose=input.nextLine();
int i = 0;
try {
i = Integer.valueOf(choose).intValue();
} catch (NumberFormatException e) {
System.out.println("输入的不是数字请重新输入");
getById();
}
List list =new ArrayList();
list.add(i);
ai.getById(list);
}
void display(){
List list =new ArrayList();
air_info_dao ai = new air_info_dao();
ai.display(list);
}
void getByDate() throws ParseException {
air_info_dao ai = new air_info_dao();
System.out.println("请输入航班起飞日期");
Scanner input=new Scanner(System.in);
String d=input.nextLine();
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(d);
List list =new ArrayList();
list.add(date);
ai.getByDate(list);
}
void getByDes(){
air_info_dao ai = new air_info_dao();
System.out.println("请输入航班目的地");
Scanner input=new Scanner(System.in);
String des=input.nextLine();
List list=new ArrayList();
list.add(des);
ai.getByDes(list);
}
void delete(){
air_info_dao ai = new air_info_dao();
System.out.println("请输入要删除的航班id");
Scanner input=new Scanner(System.in);
String choose=input.nextLine();
int i = 0;
try {
i = Integer.valueOf(choose).intValue();
} catch (NumberFormatException e) {
System.out.println("输入的不是数字请重新输入");
getById();
}
List list =new ArrayList();
list.add(i);
ai.delete(list);
System.out.println("删除成功!");
}
void alter() throws ParseException {
air_info_dao ai = new air_info_dao();
System.out.println("请输入要修改的航班id");
Scanner input=new Scanner(System.in);
String choose=input.nextLine();
int i = 0;
try {
i = Integer.valueOf(choose).intValue();
} catch (NumberFormatException e) {
System.out.println("输入的不是数字请重新输入");
alter();
}
System.out.println("请输入新的航班编号");
String code=input.nextLine();
System.out.println("请输入新的航班目的地");
String des=input.nextLine();
System.out.println("请输入新的航班日期");
String d=input.nextLine();
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(d);
List list =new ArrayList();
list.add(i);
list.add(code);
list.add(date);
}
}
3.数据的属性(一堆get set)
package JDBC_AIR_SYSTEM;
import java.sql.*;
public class airinfor {
private String air_id;
private String air_destination;
private Date air_date;
public String getAir_id() {
return air_id;
}
public void setAir_id(String air_id) {
this.air_id = air_id;
}
public String getAir_destination() {
return air_destination;
}
public void setAir_destination(String air_destination) {
this.air_destination = air_destination;
}
public Date getAir_date() {
return air_date;
}
public void setAir_date(Date air_date) {
this.air_date = air_date;
}
}
4.接口
package JDBC_AIR_SYSTEM.dao.impl;
import java.util.List;
public interface operation {
void add();
void delete(List list);
void alter(List list);
void display(List list);
void getByDate(List list);
void getById(List list);
void getByDes(List list);
}
具体的实现方法
package JDBC_AIR_SYSTEM.dao;
import JDBC_AIR_SYSTEM.dao.impl.operation;
import util.DB_util;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
public class air_info_dao extends DB_util implements operation {
@Override
public void add() {
String sql="insert into air_infore(air_code) values ?";
}
@Override
public void delete(List list) {
String sql = "delete from air_infore where air_id = ? ";
update(sql,list);
closeAll();
System.out.println("删除成功");
}
@Override
public void alter(List list) {
String sql = "update air_infore set air_code=? ,air_destination = ?, air_date? where air_id = ? ";
for(int i=0;i<list.size();i++){
update(sql, (List) list.get(i));
System.out.println("修改成功");
}
closeAll();
}
@Override
public void display(List list) {
String sql=" select * from air_infore";
ResultSet resultSet = query(sql, list);
System.out.println("\t编号"+"\t"+"\t航班号"+"\t"+"\t目的地"+"\t"+"\t起飞时间");
try {
while (resultSet.next()){
System.out.println("\t"+resultSet.getString("air_code")+"\t"+"\t"+resultSet.getInt("air_id")+"\t"+"\t"+resultSet.getString("air_destination")+"\t"+"\t"+resultSet.getDate("air_date"));
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
closeAll();
}
}
@Override
public void getByDate(List list) {
String sql="select * from air_infore where air_date=?";
ResultSet rs= query(sql, list);
get(sql,list);
}
@Override
public void getById(List list) {
String sql="select * from air_infore where air_id=?";
get(sql,list);
}
@Override
public void getByDes(List list) {
String sql = "select * from air_infore where air_destination = ? ";
get(sql,list);
}
void get(String sql,List list){//这里考虑到大量代码重复专门用了一个方法
ResultSet rs= query(sql, list);
System.out.println("\t编号"+"\t"+"\t航班号"+"\t"+"\t目的地"+"\t"+"\t起飞时间");
try {
while(rs.next()){
System.out.println("\t"+rs.getString("air_code")+"\t "+rs.getInt("air_id")+"\t "+rs.getString("air_destination")+"\t "+rs.getDate("air_date"));
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
closeAll();
}
}
}
希望可以帮助到大家谢谢!
我只是提供一个个人的思路可能有局限性有不足可以指出大家一起进步