Day35:航班管理系统

主要实现功能为航班信息的增删改查,解析XML文件,保存信息到TXT文件。
使用反射以及依赖注入。

代码如下:
flights.xml

<flights>
<flight flightNo="NA1234">
<departureCity>北京</departureCity>
<departureTime>2019-08-02 13:30:00</departureTime>
<arrivalCity>上海</arrivalCity>
<arrivalTime>2019-08-02 15:28:00</arrivalTime>
</flight>
<flight flightNo="NA2345">
<departureCity>北京</departureCity>
<departureTime>2019-08-02 11:00:00</departureTime>
<arrivalCity>广州</arrivalCity>
<arrivalTime>2019-08-02 15:28:00</arrivalTime>
</flight>
<flight flightNo="CZ1234">
<departureCity>北京</departureCity>
<departureTime>2019-08-02 17:30:00</departureTime>
<arrivalCity>上海</arrivalCity>
<arrivalTime>2019-08-02 19:28:00</arrivalTime>
</flight>
<flight flightNo="AB1234">
<departureCity>大连</departureCity>
<departureTime>2019-05-06 16:03:00</departureTime>
<arrivalCity>上海</arrivalCity>
<arrivalTime>2019-05-06 19:33:00</arrivalTime>
</flight>
<flight flightNo="CA1234">
<departureCity>北京</departureCity>
<departureTime>2019-08-02 10:30:00</departureTime>
<arrivalCity>上海</arrivalCity>
<arrivalTime>2019-08-02 12:28:00</arrivalTime>
</flight>
</flights>

applicationContext.xml

<beans>
<bean id="flightDao" class="com.biubiubiu.dongtianbao.dao.impl.FlightDaoImpl"/>
<bean id="flightService" class="com.biubiubiu.dongtianbao.service.impl.FlightServiceImpl">
<!--  name是类的属性名名   ref这个放的是bean中id的值  -->
<property name="flightDao" ref="flightDao"/>
</bean>
<bean id="flightAction" class="com.biubiubiu.dongtianbao.action.FlightAction">
<!--  name是类的属性名名   ref这个放的是bean中id的值  -->
<property name="flightService" ref="flightService"/>
</bean>
</beans>

Flight.java

package com.biubiubiu.dongtianbao.entity;

import java.util.Date;

import com.biubiubiu.dongtianbao.common.Utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * 实体类
 * @author 11142
 *
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Flight implements Comparable<Flight>{
   
	private String flightNo;
	private String departureCity;
	private String arrivalCity;
	private Date departureTime;
	private Date arrivalTime;
	@Override
	public int compareTo(Flight o) {
   
		String str1 = Utils.dateToStr(this.getDepartureTime());
		String str2 = Utils.dateToStr(o.getDepartureTime());
		return str1.compareTo(str2);
	}
}

FlightDao.java

package com.biubiubiu.dongtianbao.dao;

import java.util.List;

import com.biubiubiu.dongtianbao.entity.Flight;


public interface FlightDao {
   
	/**
	 * 显示所有航班信息(起飞时间升序)
	 */
	List<Flight> showAllFlightsInfo();
	/**
	 * 添加航班
	 */
	boolean addFlight(Flight flight);
	/**
	 * 删除航班
	 */
	boolean deleteFlight(int index);
	/**
	 * 保存更新XML文件
	 */
	void saveXML();
	/**
	 * 保存查询结果到TXT文件
	 */
	void saveTXT(String info);
}

FlightDaoImpl.java

package com.biubiubiu.dongtianbao.dao.impl;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import com.biubiubiu.dongtianbao.common.Utils;
import com.biubiubiu.dongtianbao.dao.FlightDao;
import com.biubiubiu.dongtianbao.entity.Flight;

public class FlightDaoImpl implements FlightDao {
   
	private Map<String,Flight> flightMap = new HashMap<String, Flight>();

	public FlightDaoImpl() {
   
		try {
   
			InputStream is = FlightDaoImpl.class.getClassLoader(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值