您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用idea數據庫編寫一個快遞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(); } } }
代碼如下:
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(); } } } }
關于使用idea數據庫編寫一個快遞e站就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。