第7章 课后作业

第3题

package daoClass;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
//工具类
public class Dao {
    private static String driver = null;
    private static String url = null;
    private static String userName = null;
    private static String password = null;
    private static final String resource = "database.properties";
    protected Connection conn = null;
    protected PreparedStatement pst = null;
    ResultSet rs = null;
    public void setRs(ResultSet rs) {
        this.rs = rs;
    }

    static {
        InputStream in = Dao.class.getClassLoader().getResourceAsStream(resource);
        Properties properties = new Properties();
        try {
            properties.load(in);
            driver = properties.getProperty("driver");
            url = properties.getProperty("url");
            userName = properties.getProperty("userName");
            password = properties.getProperty("password");
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
//连接数据库
    public static Connection getConnection() throws Exception {
        Class.forName(driver);
        Connection connection = DriverManager.getConnection(url, userName, password);
        return connection;
    }
//释放资源
    public static void release(Connection conn, PreparedStatement pst, ResultSet rs) throws Exception {
        if (conn != null) {
            conn.close();
        }
        if (pst != null) {
            pst.close();
        }
        if (rs != null) {
            rs.close();
        }
    }
    //更新数据
    public int executeUpdate(String sql,Object...params) throws Exception{
        Connection conn = getConnection();
        pst = conn.prepareStatement(sql);
        for (int i = 0; i < params.length; i++) {
            pst.setObject(i+1, params[i]);
        }
        int row = 0;
        try {
            row = pst.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            release(conn, pst, rs);
        }
        return row;
    }
}
 

package entityClass;
//实体类
public class CarMess {
    private String IdentityCard;
    private String carNumberId;
    private double carDisplacement;
    private double guidePrice;
    private double invoicePrice;
    private double purchaseTax;
    
    public CarMess() {
        super();
        // TODO Auto-generated constructor stub
    }
    public CarMess(String identityCard, String carNumberId, Double carDisplacement, Double guidePrice,
            Double invoicePrice,Double purchaseTax) {
        super();
        IdentityCard = identityCard;
        this.carNumberId = carNumberId;
        this.carDisplacement = carDisplacement;
        this.guidePrice = guidePrice;
        this.invoicePrice = invoicePrice;
        this.purchaseTax = purchaseTax;
    }
    public Double getPurchaseTax() {
        return purchaseTax;
    }
    public void setPurchaseTax(Double purchaseTax) {
        this.purchaseTax = purchaseTax;
    }
    public String getIdentityCard() {
        return IdentityCard;
    }
    public void setIdentityCard(String identityCard) {
        IdentityCard = identityCard;
    }
    public String getCarNumberId() {
        return carNumberId;
    }
    public void setCarNumberId(String carNumberId) {
        this.carNumberId = carNumberId;
    }
    public Double getCarDisplacement() {
        return carDisplacement;
    }
    public void setCarDisplacement(Double carDisplacement) {
        this.carDisplacement = carDisplacement;
    }
    public Double getGuidePrice() {
        return guidePrice;
    }
    public void setGuidePrice(Double guidePrice) {
        this.guidePrice = guidePrice;
    }
    public Double getInvoicePrice() {
        return invoicePrice;
    }
    public void setInvoicePrice(Double invoicePrice) {
        this.invoicePrice = invoicePrice;
    }
    
}
 

package implementsClass;

import daoClass.Dao;
import interfaceClass.CarDao;
//实现类
public class CarDaoImp extends Dao implements CarDao {

    //增加数据
    public int add(String IdentityCard, String carNumberId, double carDisplacement, double guidePrice,
            double invoicePrice, double purchaseTax) throws Exception {
        String sql = "INSERT INTO purchaseTax VALUES(?,?,?,?,?,?)";
        int row = executeUpdate(sql, IdentityCard,carNumberId,carDisplacement,guidePrice,invoicePrice,purchaseTax);
        return row;
    }

    
}

package implementsClass;

import interfaceClass.CarDao;
import interfaceClass.CarService;

public class CarServiceImp implements CarService {
    private CarDao cd;
    
    
    public CarServiceImp() {
        super();
        this.cd = new CarDaoImp();
    }

    @Override
    public int add(String IdentityCard, String carNumberId,double carDisplacement, double guidePrice,
            double invoicePrice, double purchaseTax) throws Exception {
        int row = cd.add(IdentityCard, carNumberId,carDisplacement, guidePrice, invoicePrice, purchaseTax);
        return row;
    }

}
 

package interfaceClass;

public interface CarDao {
    public int add(String IdentityCard,
            String carNumberId,double carDisplacement,
            double guidePrice,double invoicePrice,double purchaseTax)throws Exception;
}
 

package interfaceClass;

public interface CarService {
    public int add(String IdentityCard,
            String carNumberId,double carDisplacement,
            double guidePrice,double invoicePrice,double purchaseTax)throws Exception;
}
 

package TestClass;
import java.util.Scanner;

import implementsClass.CarServiceImp;
import interfaceClass.CarService;
//测试类
public class BuyCar {
    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        CarService cs = new CarServiceImp();
        System.out.println("记录车辆购置税,请按提示录入相关信息:");
        System.out.print("请输入车主身份证号码(18位):");
        String IdentityCard = in.next();
        System.out.print("请输入车辆识别码(17位):");
        String carNumberId = in.next();
        System.out.print("请输入车辆排量:");
        double carDisplacement = in.nextDouble();
        System.out.print("请输入官方指导价:");
        double guidePrice = in.nextDouble();
        System.out.print("请输入发票价格:");
        double invoicePrice = in.nextDouble();
        double purchaseTax =0;
        if(carDisplacement<=1.6) {
            purchaseTax = invoicePrice/1.17*0.075;
        }else {
            purchaseTax = invoicePrice/1.17*0.1;
        }
        purchaseTax = (int)(purchaseTax*100)/100.00;
        try {
            int row = cs.add(IdentityCard, carNumberId, carDisplacement, guidePrice, invoicePrice, purchaseTax);
            if (row > 0) {
                System.out.println("数据保存成功,车辆购置税为:" + purchaseTax);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            in.close();
        }
    }    
}
 

//配置文件

省略..........

猜你喜欢

转载自blog.csdn.net/weixin_41880408/article/details/81662321
今日推荐