目录
任务概述
现在有一家航空公司为了提高用户体验,希望做一个航班信息系统,用户 可以根据需求去对航班信息进行操作。组长把这个任务安排给了程序员赵丹, 赵丹发现这里需要通过 java 代码操作数据库,并且用户是可以在控制台做对 应的操作,JDBC 可以帮她解决这个问题。学习起来,试着把这个系统实现出来。
模块分析
数据库操作
代码实现
db.properties文件配置
driver=com.mysql.cj.jdbc.Driver
name=root
pass=123456
url=jdbc:mysql://localhost:3306/air?serverTimezone=UTC
导入jar包
AirInfo类
package bean;
import java.util.Date;
/**
* 实体类
*/
public class AirInfo {
private int id; //编号
private String number; //航班号
private String destination; //目的地
private Date date; //起飞日期
public AirInfo() {
}
public AirInfo(int id, String number, String destination, Date date) {
this.id = id;
this.number = number;
this.destination = destination;
this.date = date;
}
@Override
public String toString() {
return id +" "+'\t'+'\t'+ number +" "+'\t'+ destination +" "+'\t'+'\t'+ date;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
AirInfoDao接口
package dao;
import bean.AirInfo;
import java.util.List;
public interface AirInfoDao {
//列出所有航班
public List<AirInfo> getAll();
//按起飞时间查询
public List<AirInfo> getByDate(String date);
//按目的地查询
public List<AirInfo> getByDestination(String destination);
//删除航班
public int delete(String number);
//更新航班
public int update(int num,String newDestination,String newDate);
}
AirInfoDaoImpl实现类
package dao;
import bean.AirInfo;
import util.BaseDao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* 实现类
*/
public class AirInfoDaoImpl extends BaseDao implements AirInfoDao {
/**
* 1.列出所有航班
* @return
*/
@Override
public List<AirInfo> getAll() {
ArrayList arrayList = new ArrayList();
try {
String sql = "select * from airinfo";
ResultSet resultSet = query(sql, null);
while (resultSet.next()) {
AirInfo airInfo = new AirInfo();
airInfo.setId(resultSet.getInt("id"));
airInfo.setNumber(resultSet.getString("number"));
airInfo.setDestination(resultSet.getString("destination"));
airInfo.setDate(resultSet.getDate("date"));
arrayList.add(airInfo);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll();
}
return arrayList;
}
/**
* 2.按起飞时间查询
*