如何用idea数据库编写快递e站

网友投稿 516 2023-02-21

如何用idea数据库编写快递e站

如何用idea数据库编写快递e站

用数据库编写快递e站(本文只写了idea方面的代码)

随着快递业的不断发展,快递e站也越来越多,我们来编写一个简单的快递e站小程序,本文就介绍了如何用数据库知识编写快递e站。

##成品如下:

一、IDEA如何连接数据库

第一种方法:直接在方法体中增加连接信息

优点:如果仅使用一次数据库操作可选择

缺点:多次数据库操作每次都需要写,麻烦

public void select() {

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try {

//1.注册驱动

Class.forName("com.mysql.jdbc.Driver");

//2.定义sql

String sql = "select * from kuaidi";

//3.获取conn

conn = DriverManager.getConnection("jdbc:mysql:///kuaidi", "root", "123");

//4.获取执行sql对象Statement

stmt = conn.createStatement();

//5.执行sql

rs = stmt.executeQuery(sql);

//6处理结果

while (rs.next()) {

int danhao = rs.getInt(1);

int qujianma = rs.getInt(2);

String gongsi = rs.getString("gongsi");

String guizi = rs.getString(4);

System.out.println("单号为:" + danhao + " " + "取件码为:" + qujianma + " " + "公司是:" + gongsi + " " + "柜子在第" + guizi + "个");

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException throwables) {

throwables.printStackTrace();

} finally {

if (stmt != null) {

try {

stmt.close();

} catch (SQLException throwables) {

throwables.printStackTrace();

}

}

if (conn != null) {

try {

conn.close();

} catch (SQLException throwables) {

throwables.printStackTrace();

}

}

if (rs != null) {

try {

rs.close();

} catch (SQLException throwables) {

throwables.printStackTrace();

}

}

}

}

方法二:

建立一个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();

}

}

}

二、方法代码的实现

1.快递员增加快递

代码如下:

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 {

http:// System.out.println("添加失败");

}

} catch (SQLException throwables) {

throwables.printStackTrace();

}

}

}

2.快递员删除快递

代码如下:

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("请输入快递单号:");

FDwFrpbYbint 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 dhttp://ingdan = 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语句即可

如有需要全部代码,或者有疑问的同学私信我就可以了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:APP唤起小程序(唤醒小程序)
下一篇:SpringCloud Gateway使用redis实现动态路由的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~