From 2650659b50e794dab521bc715a5e52ad095f3eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=A2=9E=E5=85=B4?= <1962943263@qq.com> Date: Mon, 22 May 2023 21:27:20 +0800 Subject: [PATCH] =?UTF-8?q?HashMap=E5=AE=9E=E7=8E=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...25\347\232\204\345\256\236\347\216\260.md" | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 "42 \346\226\271\345\242\236\345\205\264/\346\226\271\346\263\225\347\232\204\345\256\236\347\216\260.md" diff --git "a/42 \346\226\271\345\242\236\345\205\264/\346\226\271\346\263\225\347\232\204\345\256\236\347\216\260.md" "b/42 \346\226\271\345\242\236\345\205\264/\346\226\271\346\263\225\347\232\204\345\256\236\347\216\260.md" new file mode 100644 index 0000000..0abac43 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\346\226\271\346\263\225\347\232\204\345\256\236\347\216\260.md" @@ -0,0 +1,259 @@ +# 方法的实现 + +```java +import java.sql.*; + + +public class All { + private static final String user = "root"; + private static final String pwd = "xflovexz"; + private static final String url = "jdbc:mysql:///info_all?useSSL=false&useUnicode=true&characterEncoding=utf8"; + + static { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + System.out.println("注册失败"); + e.printStackTrace(); + } + } + + + public static Connection getConn() { + Connection conn = null;// alt+回车 + try { + conn = DriverManager.getConnection(url, user, pwd); + } catch (SQLException e) { + System.out.println("获取连接对象失败"); + e.printStackTrace(); + } + return conn; + } + + public static ResultSet select(String sql, String... keys) { + ResultSet res = null; + try { + Connection coon = getConn(); + PreparedStatement pre = coon.prepareStatement(sql); + + for (int i = 0; i < keys.length; i++) { + pre.setString((i + 1), keys[i]); + } + res = pre.executeQuery(); + } catch (SQLException e) { + System.out.println("查询失败"); + e.printStackTrace(); + } + return res; + } + + public static int updata(String sql, String... keys) { + int num = 0; + try { + Connection conn = getConn(); + // 预编译对象 + PreparedStatement pre = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pre.setString((i + 1), keys[i]); + } + num = pre.executeUpdate(); + } catch (SQLException e) { + System.out.println("更新失败"); + e.printStackTrace(); + } + return num; + } + + public static void delete(String sql, String... keys) { + int num = 0; + try { + Connection conn = getConn(); + PreparedStatement pre = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pre.setString((i + 1), keys[i]); + } + num = pre.executeUpdate(); + if (num > 0) { + System.out.println("删除成功"); + } else { + System.out.println("删除失败"); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + public static String[] add(String sql, String... keys) { + try { + Connection conn = getConn(); + PreparedStatement pre = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pre.setString((i + 1), keys[i]); + } + + int num = pre.executeUpdate(); + if (num>0){ + System.out.println("添加成功"); + } + String sql1 = "select * from info"; + All.select(sql1); + } catch (SQLException e) { + System.out.println("禁止输入相同id"); + e.printStackTrace(); + } + return keys; + } +} + +``` + +# 方法的所有功能 + +```java + +import javax.swing.text.html.CSS; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; + +public class AllFeatures { + + HashMap select() { + String sql = "select * from info"; + ResultSet res = All.select(sql); + HashMap> resultHashMap = new HashMap<>(); + try { + while (res.next()) { + int id = res.getInt("id"); + String name = res.getString("name"); + String gender = res.getString("gender"); + HashMap innerHashMap = new HashMap<>(); + innerHashMap.put("name", name); + innerHashMap.put("gender", gender); + resultHashMap.put(id, innerHashMap); + } + for (Map.Entry> entry : resultHashMap.entrySet()) { + int id = entry.getKey(); + HashMap innerHashMap = entry.getValue(); + String name = (String) innerHashMap.get("name"); + String gender = innerHashMap.get("gender"); + } + } catch (SQLException e) { + System.out.println("查询失败"); + e.printStackTrace(); + } + System.out.println(resultHashMap); + return resultHashMap; + + } + + void add() { + Scanner scanner = new Scanner(System.in); + String add_sql = "INSERT INTO info values (?,?,?)"; + System.out.println("请输入你要添加的id:"); + String id = scanner.next(); + System.out.println("请输入你的姓名:"); + String name = scanner.next(); + System.out.println("请输入你的性别:"); + String gender = scanner.next(); + System.out.println(add_sql); + All.add(add_sql, id,name ,gender ); + } + + void select1() { + System.out.println("请对应以下id输入对应的值:"); + HashMap> hashMap = new AllFeatures().select(); + Scanner scanner = new Scanner(System.in); + System.out.println("请输入你想要查询的id:"); + int num = scanner.nextInt(); + ArrayList new_key = new ArrayList<>(); + for (Integer key : hashMap.keySet()) { + new_key.add(key); + } + if (new_key.contains(num)) { + + String sql1 = "select * from info where id=? or name=? or gender=? "; + ResultSet res = All.select(sql1, String.valueOf(num), "小红", "女"); + try { + while (res.next()) { + System.out.println(res.getInt("id") + " " + res.getString("name") + " " + res.getString("gender")); + } + } catch (SQLException e) { + System.out.println("查询失败"); + e.printStackTrace(); + } + } else { + System.out.println("你输入的id有误"); + System.out.println("请重新输入:"); + } + + } + + void updata() { + System.out.println("请输入你要更新的id:"); + Scanner scanner =new Scanner(System.in); + String num = scanner.next(); + System.out.println("请输入你要更改的名字是什么:"); + String name = scanner.next(); + String update_sql = "UPDATE info SET name = ? where id = ?"; + System.out.println(update_sql); + int res3 = All.updata(update_sql, name,num); + if (res3 > 0) { + System.out.println("更新成功"); + } else { + System.out.println("更新失败"); + } + } + + void delete() { + Scanner scanner =new Scanner(System.in); + String delete_sql = "DELETE FROM info where id =?"; + System.out.println("请输入你要删除的id:"); + int num = scanner.nextInt(); + All.delete(delete_sql, String.valueOf(num)); + } +} + + + +``` + +# 测试(HashMap测试) + +```java +import java.util.Scanner; + +public class Test { + public static void main(String[] args) { + + while (true) { + System.out.println("请输入所对应的功能(1、查询全部 2、查询单人 3、修改数据 4、添加数据 5、删除数据 6、退出):"); + Scanner scanner = new Scanner(System.in); + int num = scanner.nextInt(); + switch (num) { + case 1: + new AllFeatures().select(); + break; + case 2: + new AllFeatures().select1(); + break; + case 3: + new AllFeatures().updata(); + break; + case 4: + new AllFeatures().add(); + break; + case 5: + new AllFeatures().delete(); + break; + + } + if (num == 6) { + break; + } + } + } +} + +``` + -- Gitee