程序功能:控制台输入车辆信息,将信息保存至数据库中

程序代码如下:

BaseDao.java

package DAO_dome.kehozuoye;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private String driver = "com.mysql.jdbc.Driver";//数据库驱动字符串
private String url = "jdbc:mysql://localhost:3306/zoology?useUnicode=true&characterEncoding=utf8";
private String user = "root";//数据库用户名
private String password = "duanqibo919";//数据库密码
//打开数据库方法
Connection con = null;
public Connection getConnection() {
//加载驱动
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//连接数据库
try {
con = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
//关闭资源方法
public void CloseAll(Connection con,PreparedStatement pre,ResultSet result) {
if(result!=null) {
try {
result.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pre!=null) {
try {
pre.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//增删改查通用方法
public int executeUpdate(String sql,Object[] param) {
int num = 0;//影响行数
con = this.getConnection();
PreparedStatement pre = null;
try {
pre = con.prepareStatement(sql);
//为参数赋值
if(param!=null) {
for(int i=0;i<param.length;i++) {
pre.setObject(i+1, param[i]);
}
}
//执行sql语句
num = pre.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
this.CloseAll(con, pre, null);
}
return num;
}

}

Test.java

package DAO_dome.kehozuoye;

import java.util.Scanner;
import DAO_dome.kehozuoye.VehicleDao;
import DAO_dome.kehozuoye.VehicleDaoMysql;
public class Test {
public static void main(String[] args) {
VehicleDao vehicleDao = new VehicleDaoMysql();
Vehicle vehicle = new Vehicle();
String identity = "";//车主身份证号码
String heading = "";//车辆识别码
double emissions = 0;//车辆排量
double price = 0.0;//官方指导价
double invoice = 0.0;//发票价格
double purchase = 0.0;//缴纳车辆购税价
double purchasePrice = 0.0;//计税价格
Scanner scanner = new Scanner(System.in);
System.out.println("记录车辆购置税,请按提示录入相关信息:");
System.out.println("请输入车主身份证号码(18位):");
identity = scanner.next();
while(identity.length()!=18) {
System.out.println("输入错误!请重新输入:");
identity = scanner.next();
}
System.out.println("请输入车辆识别码(17位):");
heading = scanner.next();
while(heading.length()!=17) {
System.out.println("输入错误!请重新输入:");
heading = scanner.next();
}
System.out.println("请输入车辆排量:");
emissions = scanner.nextDouble();
System.out.println("请输入官方指导价:");
price = scanner.nextDouble();
System.out.println("请输入发票价格:");
invoice = scanner.nextDouble();
purchasePrice = invoice/(1+0.17);
if(emissions>1.6) {
purchase = purchasePrice*0.1;
}else {
purchase = purchasePrice*0.075;
}
vehicle.setIdentity(identity);
vehicle.setHeading(heading);
vehicle.setEmissions(emissions);
vehicle.setPrice(price);
vehicle.setInvoice(invoice);
vehicle.setPurchase(purchase);
vehicleDao.save(vehicle);
System.out.println("数据保存成功,车辆购置税为"+purchase);

scanner.close();
}

}

Vehicle.java

package DAO_dome.kehozuoye;

public class Vehicle {

/*

* 汽车实体类

*/

private String identity;//车主身份证号码

private String heading;//车辆识别码

private double emissions;//车辆排量

private double price;//官方指导价

private double invoice;//发票价格

private double purchase;//缴纳车辆购税价

public String getIdentity() {

return identity;

}

public void setIdentity(String identity) {

this.identity = identity;

}

public String getHeading() {

return heading;

}

public void setHeading(String heading) {

this.heading = heading;

}

public double getEmissions() {

return emissions;

}

public void setEmissions(double emissions) {

this.emissions = emissions;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public double getInvoice() {

return invoice;

}

public void setInvoice(double invoice) {

this.invoice = invoice;

}

public double getPurchase() {

return purchase;

}

public void setPurchase(double purchase) {

this.purchase = purchase;

}

}

VehicleDao.java     //声明各种接口

package DAO_dome.kehozuoye;

import java.util.List;
import DAO_dome.kehozuoye.Vehicle;

public interface VehicleDao {
/*
* 汽车接口
*/
/**
* 保存汽车
* @param vehicie
* @return
*/
int save(Vehicle vehicle);
/**
* 删除信息
* @param vehicie
* @return
*/
int del(Vehicle vehicle);
/**
* 更新汽车
* @param vehicie
* @return
*/
int Update(Vehicle vehicle);
/**
* 获取汽车识别代码列表,模糊查找
* @param heading
* @return
*/
Vehicle getByName(String heading);
/**
* 获取汽车识别代码列表,精确查找
* @param heading
* @return
*/
List<Vehicle> findByName(String heading);

}

VehicleDaoMysql.java   //上述接口的实现

package DAO_dome.kehozuoye;

import java.util.List;
import DAO_dome.kehozuoye.BaseDao;
import DAO_dome.kehozuoye.VehicleDao;
import DAO_dome.kehozuoye.Vehicle;
public class VehicleDaoMysql extends BaseDao implements VehicleDao{

@Override
public int save(Vehicle vehicle) {
// TODO Auto-generated method stub
String sql = "insert into vehicle(identity,heading,emissions,price,invoice,purchase) "
+ "values(?,?,?,?,?,?)";
Object[] param = {vehicle.getIdentity(),vehicle.getHeading(),vehicle.getEmissions(),
vehicle.getPrice(),vehicle.getInvoice(),vehicle.getPurchase()};
int result = this.executeUpdate(sql, param);
return result;
}

@Override
public int del(Vehicle vehicle) {
// TODO Auto-generated method stub
return 0;
}

@Override
public int Update(Vehicle vehicle) {
// TODO Auto-generated method stub
return 0;
}

@Override
public Vehicle getByName(String heading) {
// TODO Auto-generated method stub
return null;
}

@Override
public List<Vehicle> findByName(String heading) {
// TODO Auto-generated method stub

System.out.println();
return null;
}

}

转载于:https://www.cnblogs.com/duanqibo/p/11103413.html

Java:控制台输入车辆信息,将信息保存至数据库中相关推荐

  1. 基于Java+控制台实现车辆信息管理系统

    基于Java+控制台实现车辆信息管理系统 一.系统介绍 二.功能展示 1.主要功能 2.查看所有车辆信息 3.车辆信息添加 4.车辆信息查询 5.车辆信息删除 三.系统实现 1.car.java 四. ...

  2. 基于Java毕业设计智能化车辆管理综合信息平台源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计智能化车辆管理综合信息平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计智能化车辆管理综合信息平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目 ...

  3. java控制台输入汉字_给我一个JAVA控制台输入中文的实例

    给我一个JAVA控制台输入中文的实例 关注:205  答案:3  mip版 解决时间 2021-01-27 14:43 提问者葃日懙妳 2021-01-26 20:40 越简单越好,就是运行之后出了控 ...

  4. Java控制台输入教程~~~~

    Java控制台输入教程~~~~ 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所有输入的内容传给Scanner,作为扫描对象.如果 ...

  5. python爬取音乐并保存_python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中

    爬取TOP500的音乐信息,包括排名情况.歌曲名.歌曲时间. 网页版酷狗不能手动翻页进行下一步的浏览,仔细观察第一页的URL: 这里尝试将1改为2,再进行浏览,恰好是第二页的信息,再改为3,恰好是第三 ...

  6. java图片保存到数据库_java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  7. Scrapy框架学习 - 爬取豆瓣电影排行榜TOP250所有电影信息并保存到MongoDB数据库中

    概述 利用Scrapy爬取豆瓣电影Top250排行榜电影信息,并保存到MongoDB数据库中 使用pymongo库操作MOngodb数据库 没有进行数据清洗 源码 items.py class Dou ...

  8. android 保存数据到setting中_文章如何保存在数据库中

    当我们打开央视新闻网站时,能看到很多丰富多彩的文章,那么这些文章是怎么保存在数据库中的呢?或者说要怎样能实现类似的效果? 如果你了解过网页的话,应该知道通过html的p.ul.img.div等元素的合 ...

  9. ASP.NET将Session保存到数据库中

    因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 ...

最新文章

  1. 双圆弧插值算法(三,代码实现)
  2. android 问题汇总系列之四
  3. 24. Swap Nodes in Pairs 链表每2个点翻转一次
  4. [LuoguP1064][Noip2006]金明的预算方案
  5. ASP.NET 2.0 的数据源、数据绑定控件概述与区别
  6. 基于Redis的CustomerSessionProvider(一)
  7. Leetcode——1. Two Sum
  8. python 生成器装饰器_对Python生成器、装饰器、递归的使用详解
  9. 异步编程之co——源码分析
  10. mysql加begin报错,MySQL存储过程例子,不能在if else里面用begin end否则会报错Error Code:1064解决...
  11. div+css布局实现个人网页设计(HTML期末作业)
  12. 【个人作品】记之-串口日志记录工具
  13. 个人免签监测APP源码 短信微信支付宝 实时捕获回调收款通知!
  14. 【2019年04月09日】A股净资产收益率ROE最高排名
  15. python,微信小程序,教你如何快速生成半透明头像
  16. IDEA生成springboot项目的两种方式
  17. 一键重装系统win7旗舰版系统教程
  18. android播放系统音效,Android用SoundPool播放音效
  19. 空字符串和len()函数
  20. 计算机图形学方向的基本能力

热门文章

  1. 关系数据库SQL语言核心功能
  2. NS2安装笔记 - Ubuntu9.10
  3. excel一些操作技巧
  4. 中断底半部:softirq、tasklet、workqueue
  5. 如何看透借款人的隐形负债?
  6. 安卓SlidingDrawer
  7. java程序里繁体字显示为方块_网页 俄罗斯方块
  8. centos编译apache php mysql,在CentOS6.7中编译安装 apache php mysql
  9. arccatalog点要素显示不完_如果你读不完显示屏说明书,至少读完这几句话吧
  10. 团队行为心理学读书笔记(6)沟通背后的行为心理学