时间:2021-05-19
用数据库编写快递e站(本文只写了idea方面的代码)
随着快递业的不断发展,快递e站也越来越多,我们来编写一个简单的快递e站小程序,本文就介绍了如何用数据库知识编写快递e站。
##成品如下:
优点:如果仅使用一次数据库操作可选择
缺点:多次数据库操作每次都需要写,麻烦
建立一个JDBCHelper和一个存储数据库账号密码的Properties,来帮助快速加载驱动以及释放内存
优点:只需要写一次,用的时候调用即可
缺点:一次要写很多
释放内存的时候可能传入两个或者三个参数需要释放,所以用重载形式来解决
private static String url; private static String user; private static String password; private static String driver; /** * 文件的读取,只需要读取一次即可 */ static { //读取资源文件,并获取值 try { //1.创建properties集合类 Properties pro = new Properties(); //2.加载文件 //获取src路径下的文件的方式--->ClassLoader类加载器 ClassLoader classLoader = JDBCHelper.class.getClassLoader(); URL res = classLoader.getResource("jdbc.properties"); String path = res.getPath(); //pro.load(new FileReader("src/jdbc.properties")); pro.load(new FileReader(path)); url = pro.getProperty("url"); user = pro.getProperty("user"); password = pro.getProperty("password"); driver = pro.getProperty("driver"); Class.forName(driver); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 获取连接 * * @return连接对象 */ public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url, user, password); } /** * 释放资源 * * @param stmt * @param conn */ public static void close(Statement stmt, Connection conn) { if (stmt != null) { try { stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } }//释放内存 public static void close(ResultSet rs, Statement stmt, Connection conn) { if (stmt != null) { try { stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (rs != null) { try { rs.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } }代码如下:
public class Add { Connection conn = null; Statement stmt = null; Random r= new Random(); public void addq(int danhao,String gongsi){ try { conn = JDBCHelper.getConnection(); int qujianma = r.nextInt((999999)+1); String guizi = Integer.toString(r.nextInt(100)+1); String sql = "insert into kuaidi values(" + danhao + "," + qujianma+",'"+gongsi+"','"+guizi+"')"; stmt = conn.createStatement(); int a = stmt.executeUpdate(sql); System.out.println("取件码为:"+qujianma); if(a>0){ System.out.println("添加成功"); } else { System.out.println("添加失败"); } } catch (SQLException throwables) { throwables.printStackTrace(); } } }代码如下:
public class Delete { Connection conn = null; Statement stmt = null; public void delete(int danhao) { try { conn = JDBCHelper.getConnection(); String sql = "delete from kuaidi where danhao = "+danhao; stmt = conn.createStatement(); int a = stmt.executeUpdate(sql); if(a>0){ System.out.println("删除成功"); } else { System.out.println("删除失败"); } } catch (SQLException throwables) { throwables.printStackTrace(); } finally { JDBCHelper.close(stmt,conn); }}主要内容代码:
public class Imp {public static void main(String[] args) {kuaidi();}public static void kuaidi() { System.out.println("====欢迎使用新职课快递柜===="); Scanner sc = new Scanner(System.in); Random r = new Random(); while (true) { System.out.println("请输入你的身份:1-快递员,2-用户"); try { int a = sc.nextInt(); if (a < 1 || a > 2) { System.out.println("输入有误,请重新输入"); } else if (a == 1) { System.out.println("====欢迎使用新职课快递柜===="); System.out.println("请选择操作:1-存快递 2-删除快递 3-修改快递信息 4-查看所有快递"); int b = sc.nextInt(); switch (b) { case 1: { System.out.println("====欢迎使用新职课快递柜===="); System.out.println("请输入快递单号:"); int danhao = sc.nextInt(); System.out.println("请输入公司名称:"); String gongsi = sc.next(); Add add = new Add(); add.addq(danhao, gongsi); break; } case 2: { System.out.println("====欢迎使用新职课快递柜===="); System.out.print("请输入要删除的订单号:"); int dingdan = sc.nextInt(); Delete delete = new Delete(); delete.delete(dingdan); break; } case 3: { System.out.println("====欢迎使用新职课快递柜===="); System.out.print("请输入要修改的订单号:"); int danhao = sc.nextInt(); Alter al = new Alter(); boolean q = al.select(danhao); if (q = true) { System.out.println("请输入更改后的单号"); int afdanhao = sc.nextInt(); al.alter(afdanhao, danhao); } else { System.out.println("请核实订单号"); } break; } case 4: { System.out.println("====欢迎使用新职课快递柜===="); SelectAll s = new SelectAll(); s.select(); } } } else if (a == 2) { System.out.println("====欢迎使用新职课快递柜===="); System.out.println("请输入取件码"); int qujianma = sc.nextInt(); Take t = new Take(); t.take(qujianma); } } catch (InputMismatchException e) { System.out.println(); System.out.println("请输入数字序号!!!!!!!!"); System.out.println(); kuaidi(); } }}}别的几个代码块都大同小异,只需要修改sql语句即可
如有需要全部代码,或者有疑问的同学私信我就可以了
到此这篇关于如何用idea数据库编写快递e站的文章就介绍到这了,更多相关idea数据库编写快递e站内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
开发网站,往往需要用数据库保存数据。我们该如何创建数据库与创建数据表呢?方法其实很简单,下面就由小编教你如何用NavicatforMySql创建数据库的操作流程
准备MySql数据库,表Prereg,IDEA数据库中的表如下所示:IDEA目录结构如下:添加thymeleaf依赖:org.springframework.b
在java的应用中,我们经常会对数据库进行必要的操作,下来我们就了解一下如何用java连接mysql数据库以及java连接sqlserver数据库一、mysql
IDEA关联数据库首先打开一个IDEA工程,在右边可以看到Database一个按钮,点击。如上这个界面,点击加号选择DataSource,选择数据库类型,我这里
前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模