zoukankan      html  css  js  c++  java
  • 大数据之路week05--day01(JDBC 初识之实现一个系统 实现用户选择增删改查 未优化版本)

    要求,实现用户选择增删改查。

    给出mysql文件,朋友们可以自己运行导入到自己的数据库中:

    /*
    Navicat MySQL Data Transfer
    
    Source Server         : mysql
    Source Server Version : 50557
    Source Host           : 127.0.0.1:3306
    Source Database       : school
    
    Target Server Type    : MYSQL
    Target Server Version : 50557
    File Encoding         : 65001
    
    Date: 2019-12-02 21:20:56
    */
    
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for t_student
    -- ----------------------------
    DROP TABLE IF EXISTS `t_student`;
    CREATE TABLE `t_student` (
      `sid` int(11) NOT NULL,
      `sname` varchar(10) NOT NULL,
      `gender` varchar(2) NOT NULL,
      `Classid` int(11) NOT NULL,
      PRIMARY KEY (`sid`),
      UNIQUE KEY `UK_SNAME` (`sname`),
      KEY `UF_SCLASS` (`Classid`),
      CONSTRAINT `UF_SCLASS` FOREIGN KEY (`Classid`) REFERENCES `t_class` (`cid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of t_student
    -- ----------------------------
    INSERT INTO `t_student` VALUES ('1604093001', '埼玉', '', '6');
    INSERT INTO `t_student` VALUES ('1604093002', '李宏灿', '', '5');
    INSERT INTO `t_student` VALUES ('1604093005', '娘口三三', '', '6');
    INSERT INTO `t_student` VALUES ('1604093024', '路飞', '', '5');
    INSERT INTO `t_student` VALUES ('1604093025', '齐博源', '', '6');
    INSERT INTO `t_student` VALUES ('1604093026', '比较好', '', '6');
    INSERT INTO `t_student` VALUES ('1604093029', '赵以浩', '', '6');
    INSERT INTO `t_student` VALUES ('1604093030', '大雄', '', '6');

    系统实现代码:

      1 package MySQL测试连接;
      2 
      3 import java.sql.Connection;
      4 import java.sql.DriverManager;
      5 import java.sql.PreparedStatement;
      6 import java.sql.ResultSet;
      7 import java.sql.SQLException;
      8 import java.util.Scanner;
      9 
     10 /**
     11  * 
     12  * 创建时间:2019年12月2日 上午10:11:28
     13  * 
     14  * 项目名称:MySQL_Test
     15  * 
     16  * @author WYH
     17  * 
     18  * @version 1.0
     19  * 
     20  * @since JDK 1.8.0
     21  * 
     22  *        文件名称:Test5.java
     23  * 
     24  *        类说明:
     25  *            对数据库操作的增删改查系统1.0版本
     26  */
     27 
     28 public class Test5 {
     29     private static Connection conn = null;
     30     private static PreparedStatement ps = null;
     31     private static ResultSet rs = null;
     32 
     33     // 添加
     34     public static void insertSql(String sql, Connection conn, int sid,
     35             String sname, String gender, int Classid) {
     36         try {
     37             ps = conn.prepareStatement(sql);
     38             ps.setInt(1, sid);
     39             ps.setString(2, sname);
     40             ps.setString(3, gender);
     41             ps.setInt(4, Classid);
     42             int i = ps.executeUpdate();
     43             System.out.println("有" + i + "记录被影响,成功添加一条数据!");
     44         } catch (Exception e) {
     45             System.out.println("添加失败!!");
     46         }
     47 
     48     }
     49 
     50     // 查询
     51     public static void selectSql(String SelectSql, Connection conn) {
     52         try {
     53             ps = conn.prepareStatement(SelectSql);
     54             // ps.setString(1, "男");
     55             rs = ps.executeQuery();
     56             System.out.println("学号		姓名	性别	所在班级");
     57             while (rs.next()) {
     58                 System.out.println(rs.getString(1) + "	" + rs.getString(2)
     59                         + "	" + rs.getString(3) + "	" + rs.getString(4));
     60             }
     61         } catch (Exception e) {
     62             System.out.println("查询失败!!");
     63         }
     64 
     65     }
     66 
     67     // 删除
     68     public static void deleteSql(String DeleteSql, Connection conn, int sid1) {
     69         try {
     70             ps = conn.prepareStatement(DeleteSql);
     71             ps.setInt(1, sid1);
     72             int j = ps.executeUpdate();
     73             System.out.println("有" + j + "条数据被影响,成功的删除" + sid1 + "数据");
     74         } catch (Exception e) {
     75             System.out.println("删除失败!!");
     76         }
     77     }
     78 
     79     // 更新
     80     public static void updateSql(String UpdateSql, Connection conn,
     81             String sname2, int sid2) {
     82         try {
     83             ps = conn.prepareStatement(UpdateSql);
     84             ps.setString(1, sname2);
     85             ps.setInt(2, sid2);
     86             int i = ps.executeUpdate();
     87             System.out.println("有" + i + "条数据被影响,成功更新数据。。");
     88         } catch (Exception e) {
     89             System.out.println("更新失败!!");
     90         }
     91     }
     92 
     93     public static void start() {
     94         boolean flag = true;
     95         Scanner sc = new Scanner(System.in);
     96         System.out.println("===========欢迎使用t_student表的操作系统===========");
     97         while (flag) {
     98             System.out.println("1、添加数据
    2、查询数据
    3、更新数据
    4、删除数据
    5、退出");
     99             System.out.print("请选择您需要的操作:");
    100             int choice = sc.nextInt();
    101 
    102             switch (choice) {
    103             case 1:
    104                 // 添加数据
    105                 String sql = "insert into t_student(sid,sname,gender,Classid) values(?,?,?,?)";
    106                 System.out.print("请输入您要添加学号:");
    107                 int sid = sc.nextInt();
    108 
    109                 System.out.print("请输入您添加学生的姓名:");
    110                 String sname = sc.next();
    111 
    112                 System.out.print("请输入您添加学生的性别:");
    113                 String gender = sc.next();
    114 
    115                 System.out.print("请输入您添加学生的班级号:");
    116                 int Classid = sc.nextInt();
    117                 insertSql(sql, conn, sid, sname, gender, Classid);
    118 
    119                 System.out.println("添加后的数据为:");
    120                 selectSql("select * from t_student", conn);
    121                 System.out.println();
    122                 System.out.println();
    123                 break;
    124 
    125             case 2:
    126                 // 查询数据
    127                 String SelectSql = "select * from t_student";
    128                 selectSql(SelectSql, conn);
    129                 System.out.println();
    130                 System.out.println();
    131                 break;
    132 
    133             case 3:
    134                 // 更新数据
    135                 String UpdateSql = "update t_student set sname=? where sid=? ";
    136                 System.out.print("请输入要更新姓名的学生学号:");
    137                 int sid2 = sc.nextInt();
    138 
    139                 System.out.print("请输入要更新该学号的新姓名:");
    140                 String sname2 = sc.next();
    141                 updateSql(UpdateSql, conn, sname2, sid2);
    142 
    143                 System.out.println("更新后的数据为:");
    144                 selectSql("select * from t_student", conn);
    145                 System.out.println();
    146                 System.out.println();
    147                 break;
    148 
    149             case 4:
    150                 // 删除
    151                 String DeleteSql = "delete from t_student where sid=?";
    152                 System.out.print("请输入要删除的学生学号:");
    153                 int sid1 = sc.nextInt();
    154                 deleteSql(DeleteSql, conn, sid1);
    155 
    156                 System.out.println("删除后的数据为:");
    157                 selectSql("select * from t_student", conn);
    158                 System.out.println();
    159                 System.out.println();
    160                 break;
    161             case 5:
    162                 System.out.println("谢谢使用");
    163                 flag = false;
    164                 break;
    165             default:
    166                 System.out.println("输入有误。。请重新输入");
    167                 System.out.println();
    168                 System.out.println();
    169                 break;
    170             }
    171         }
    172 
    173     }
    174 
    175     public static void main(String[] args) {
    176         try {
    177             Class.forName("com.mysql.jdbc.Driver");
    178             conn = DriverManager.getConnection(
    179                     "jdbc:mysql://127.0.0.1:3306/school", "root", "root");
    180             System.out.println(conn);
    181             start();
    182 
    183         } catch (ClassNotFoundException e) {
    184             e.printStackTrace();
    185         } catch (SQLException e) {
    186             e.printStackTrace();
    187         } finally {
    188             if (rs != null) {
    189                 try {
    190                     rs.close();
    191                 } catch (SQLException e) {
    192                     e.printStackTrace();
    193                 }
    194             }
    195             if (ps != null) {
    196                 try {
    197                     ps.close();
    198                 } catch (SQLException e) {
    199                     e.printStackTrace();
    200                 }
    201             }
    202             if (conn != null) {
    203                 try {
    204                     conn.close();
    205                 } catch (SQLException e) {
    206                     e.printStackTrace();
    207                 }
    208             }
    209         }
    210 
    211     }
    212 
    213 }

    运行结果:

  • 相关阅读:
    8. String to Integer (atoi)
    PHP Warning: strftime(): It is not safe to rely on the system's timezone set
    Jackson 使用
    用vim去掉utf-8 BOM
    oracle 11g 从 dmp 文件中导出 sql 代码 的方法.
    git gitosis 添加项目
    Linux gcc和gdb程序调试用法 {转}
    Dos中转义符
    HTML样式链接到外部样式表
    转:财富与智慧
  • 原文地址:https://www.cnblogs.com/wyh-study/p/11973386.html
Copyright © 2011-2022 走看看