第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();
}
}
}
//配置文件
省略..........