栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

“21天好习惯”第一期-6

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“21天好习惯”第一期-6

        现在有一家航空公司为了提高用户体验,希望做一个航班信息系统,用户 可以根据需求去对航班信息进行操作。组长把这个任务安排给了程序员赵丹, 赵丹发现这里需要通过 java 代码操作数据库,并且用户是可以在控制台做对 应的操作,JDBC 可以帮她解决这个问题。学习起来,试着把这个系统实现出 来。 1. 显示航班信息系统主菜单 2. 列出所有的航班信息 3. 按起飞时间查询 新职课教研教学中心 2 4. 按目的地查询 5. 删除航班 6. 更新航班 7.退出系统

 1.AirInfo

package Flight;
//实体类
public class AirInfo {
    private int no;
    private String airId;
    private String destination;
    private String flyDate;

    @Override
    public String toString() {
        return "AirInfo{" +
                "no=" + no +
                ", airId='" + airId + ''' +
                ", destination='" + destination + ''' +
                ", flyDate='" + flyDate + ''' +
                '}';
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getAirId() {
        return airId;
    }

    public void setAirId(String airId) {
        this.airId = airId;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public String getFlyDate() {
        return flyDate;
    }

    public void setFlyDate(String flyDate) {
        this.flyDate = flyDate;
    }
}

2. AirInfoDaoImpl

package Flight;

import java.util.ArrayList;
import java.util.List;

public class AirInfoDaoImpl extends baseDao implements AirinfoDao {
    //定义变量
    private String sql=null;
    private List list=new ArrayList();
    int count;

   
    @Override
    public List getAll() {
        sql="select * from airInfo";
        return deal(sql,list);
    }

   
    @Override
    public List getByDate(String date) {
        sql="select * from airInfo where flyDate=?";
        list.add(date);
        return deal(sql,list);
    }

   
    @Override
    public List getByDes(String des) {
        sql="select * from airInfo where destination=?";
        list.add(des);
        return deal(sql,list);
    }

   
    @Override
    public int delete(int no) {
        sql="delete from airInfo where no=?";

        count=update(sql,list);
        return count;
    }

    @Override
    public int updateByNo(AirInfo air) {
        sql="update airInfo set airId=?,destination=?,flyDate=?where no=? ";
        list.add(air.getAirId());
        list.add(air.getDestination());
        list.add(air.getFlyDate());
        list.add(air.getNo());
        count=update(sql,list);
        return count;
    }

    @Override
    public List getByNo(int no) {
        sql="select from airInfo where no=?";
        list.add(no);
        return deal(sql,list);
    }
}

3.baseDao

package Flight;

import Flight.AirInfo;
import com.alibaba.druid.pool.DruidDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;

public class baseDao {
    private Connection connection = null;
    private PreparedStatement pps = null;
    private ResultSet resultSet = null;
    private int count = 0;

    private static String username;
    private static String password;
    private static String url;
    private static String drivername;
    //引入德鲁伊连接池
    private static DruidDataSource dds = new DruidDataSource();

    //初始化
    static {
        ResourceBundle bundle = ResourceBundle.getBundle("db");
        drivername = bundle.getString("driver");
        url = bundle.getString("url");
        username = bundle.getString("uname");
        password = bundle.getString("password");
        dds.setUsername(username);
        dds.setPassword(password);
        dds.setUrl(url);
        dds.setDriverClassName(drivername);
    }

   

    protected Connection getConnection() {
        try {
            connection = dds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }

   

    protected PreparedStatement getPps(String sql, List list) {
        try {
            pps = getConnection().prepareStatement(sql);
            if (list != null && list.size() > 0) {
                for (int i = 0; i < list.size(); i++) {
                    pps.setObject(i + 1, list.get(i));
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return pps;
    }

   
    protected int update(String sql, List list) {
        pps = getPps(sql, list);
        try {
            count = pps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return count;
    }

   
    protected ResultSet query(String sql, List list) {
        pps = getPps(sql, list);
        try {
            resultSet = pps.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return resultSet;
    }

   
    public List deal(String sql, List list) {
        List airs = new ArrayList<>();
        try {
            ResultSet result = query(sql, list);
            while (result.next()) {
                AirInfo air = new AirInfo();
                air.setNo(result.getInt("no"));
                air.setAirId(result.getString("airId"));
                air.setDestination(result.getString("destination"));
                air.setFlyDate(result.getString("flyDate"));
                airs.add(air);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeAll();
        }
        return airs;
    }

    private void closeAll() {
        try {
            if (connection != null) {
                connection.close();
            }
            if (pps != null) {
                pps.close();
            }
            if (resultSet != null) {
                resultSet.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
4.Menu

package Flight;

import javax.management.MBeanRegistration;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Menu {
    //定义变量
    private AirinfoDao dao=new AirInfoDaoImpl();
    private List airs=new ArrayList<>();
    private AirInfo air=new AirInfo();
    private Scanner sc=new Scanner(System.in);
    

    public Menu(int in){

        switch (in){
            case 1:
                case1();
                break;
            case 2:
                case2();
                break;
            case 3:
                case3();
                break;
            case 4:
                case4();
                break;
            case 5:
                case5();
                break;
            case 6:
                System.exit(0);;
        }
    }

    private void case1() {
        System.out.println("-------------所有航班信息如下-------------");
        airs=dao.getAll();
        printAir();
    }

    private void printAir() {
        if (airs != null && airs.size() > 0) {
            System.out.println("编号t航班号tt目的地tt起飞日期");
            for (int i = 0; i < airs.size(); i++) {
                air = airs.get(i);
                System.out.println(air);
            }
        }
    }


    private void case2() {
        System.out.println("请输入您要查询航班的起飞时间:");
        String date=sc.next();
        airs=dao.getByDate(date);
        System.out.println("----------于"+date+"起飞的航班信息如下:");
        printAir();
    }
    private void case3(){
        System.out.println("请输入您要查询航班的目的地:");
        String des=sc.next();
        airs=dao.getByDes(des);
        System.out.println("----------飞往"+des+"的航班的信息如下");
        printAir();
    }
    private void case4(){
        System.out.println("请输入您要删除航班的编号");
        int no=sc.nextInt();
        airs=dao.getByNo(no);
        System.out.println("您要删除航班的信息如下:");
        printAir();
        System.out.println("请您确认是否要删除(1.是 2.否)");
        int choose=sc.nextInt();
        if (choose==1){
            int count1=dao.delete(no);
            if (count1>0){
                System.out.println("删除成功!");
            }else {
                System.out.println("删除失败!请检查.");
            }
        }

    }
    private void case5(){
        //接收用户输入的新信息
        System.out.println("请输入需要更新的航班编号:");
        air.setNo(sc.nextInt());
        System.out.println("请输入新的航班号");
        air.setAirId(sc.next());
        System.out.println("请输入新的目的地");
        air.setDestination(sc.next());
        System.out.println("请输入新的起飞日期");
        air.setFlyDate(sc.next());
        //用新信息覆盖旧信息
        int i = dao.updateByNo(air);
        if (i > 0) {
            System.out.println("更新成功");
        } else {
            System.out.println("更新失败");
        }

    }

}
5.

package Flight;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        welcome();
        while (true){
            System.out.println("请选择操作:");
            System.out.println("1-列出所有航班");
            System.out.println("2-按起飞时间查询");
            System.out.println("3-按目的地查询");
            System.out.println("4.删除航班");
            System.out.println("5.更新航班");
            System.out.println("6:离开系统");
            Scanner sc=new Scanner(System.in);
            int num=sc.nextInt();
            new Menu(num);
        }


    }
    private static void welcome(){
        System.out.println("欢迎使用航空信息系统!");
    }
}
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353906.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号