大数据之路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 ('', '埼玉', '男', '');
INSERT INTO `t_student` VALUES ('', '李宏灿', '男', '');
INSERT INTO `t_student` VALUES ('', '娘口三三', '男', '');
INSERT INTO `t_student` VALUES ('', '路飞', '男', '');
INSERT INTO `t_student` VALUES ('', '齐博源', '男', '');
INSERT INTO `t_student` VALUES ('', '比较好', '男', '');
INSERT INTO `t_student` VALUES ('', '赵以浩', '男', '');
INSERT INTO `t_student` VALUES ('', '大雄', '男', '');
系统实现代码:
package MySQL测试连接; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner; /**
*
* 创建时间:2019年12月2日 上午10:11:28
*
* 项目名称:MySQL_Test
*
* @author WYH
*
* @version 1.0
*
* @since JDK 1.8.0
*
* 文件名称:Test5.java
*
* 类说明:
* 对数据库操作的增删改查系统1.0版本
*/ public class Test5 {
private static Connection conn = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null; // 添加
public static void insertSql(String sql, Connection conn, int sid,
String sname, String gender, int Classid) {
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, sid);
ps.setString(2, sname);
ps.setString(3, gender);
ps.setInt(4, Classid);
int i = ps.executeUpdate();
System.out.println("有" + i + "记录被影响,成功添加一条数据!");
} catch (Exception e) {
System.out.println("添加失败!!");
} } // 查询
public static void selectSql(String SelectSql, Connection conn) {
try {
ps = conn.prepareStatement(SelectSql);
// ps.setString(1, "男");
rs = ps.executeQuery();
System.out.println("学号\t\t姓名\t性别\t所在班级");
while (rs.next()) {
System.out.println(rs.getString(1) + "\t" + rs.getString(2)
+ "\t" + rs.getString(3) + "\t" + rs.getString(4));
}
} catch (Exception e) {
System.out.println("查询失败!!");
} } // 删除
public static void deleteSql(String DeleteSql, Connection conn, int sid1) {
try {
ps = conn.prepareStatement(DeleteSql);
ps.setInt(1, sid1);
int j = ps.executeUpdate();
System.out.println("有" + j + "条数据被影响,成功的删除" + sid1 + "数据");
} catch (Exception e) {
System.out.println("删除失败!!");
}
} // 更新
public static void updateSql(String UpdateSql, Connection conn,
String sname2, int sid2) {
try {
ps = conn.prepareStatement(UpdateSql);
ps.setString(1, sname2);
ps.setInt(2, sid2);
int i = ps.executeUpdate();
System.out.println("有" + i + "条数据被影响,成功更新数据。。");
} catch (Exception e) {
System.out.println("更新失败!!");
}
} public static void start() {
boolean flag = true;
Scanner sc = new Scanner(System.in);
System.out.println("===========欢迎使用t_student表的操作系统===========");
while (flag) {
System.out.println("1、添加数据\n2、查询数据\n3、更新数据\n4、删除数据\n5、退出");
System.out.print("请选择您需要的操作:");
int choice = sc.nextInt(); switch (choice) {
case 1:
// 添加数据
String sql = "insert into t_student(sid,sname,gender,Classid) values(?,?,?,?)";
System.out.print("请输入您要添加学号:");
int sid = sc.nextInt(); System.out.print("请输入您添加学生的姓名:");
String sname = sc.next(); System.out.print("请输入您添加学生的性别:");
String gender = sc.next(); System.out.print("请输入您添加学生的班级号:");
int Classid = sc.nextInt();
insertSql(sql, conn, sid, sname, gender, Classid); System.out.println("添加后的数据为:");
selectSql("select * from t_student", conn);
System.out.println();
System.out.println();
break; case 2:
// 查询数据
String SelectSql = "select * from t_student";
selectSql(SelectSql, conn);
System.out.println();
System.out.println();
break; case 3:
// 更新数据
String UpdateSql = "update t_student set sname=? where sid=? ";
System.out.print("请输入要更新姓名的学生学号:");
int sid2 = sc.nextInt(); System.out.print("请输入要更新该学号的新姓名:");
String sname2 = sc.next();
updateSql(UpdateSql, conn, sname2, sid2); System.out.println("更新后的数据为:");
selectSql("select * from t_student", conn);
System.out.println();
System.out.println();
break; case 4:
// 删除
String DeleteSql = "delete from t_student where sid=?";
System.out.print("请输入要删除的学生学号:");
int sid1 = sc.nextInt();
deleteSql(DeleteSql, conn, sid1); System.out.println("删除后的数据为:");
selectSql("select * from t_student", conn);
System.out.println();
System.out.println();
break;
case 5:
System.out.println("谢谢使用");
flag = false;
break;
default:
System.out.println("输入有误。。请重新输入");
System.out.println();
System.out.println();
break;
}
} } public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/school", "root", "root");
System.out.println(conn);
start(); } catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} } }
运行结果:
大数据之路week05--day01(JDBC 初识之实现一个系统 实现用户选择增删改查 未优化版本)的更多相关文章
- 大数据之路week05--day01(JDBC 初识)
一.概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...
- 初识hibernate框架之一:进行简单的增删改查操作
Hibernate的优势 l 优秀的Java 持久化层解决方案 (DAO) l 主流的对象—关系映射工具产品 l 简化了JDBC 繁琐的编码 l 将数据库的连接信息都存放在配置文件 l 自己的ORM ...
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JDBC概述及JDBC完成对Oracle的增删改查
什么是JDBC JDBC(Java Data Base Connectivity,Java数据库连接),是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问.它由一组用Java语言 ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- AngularJS中使用$http对MongoLab数据表进行增删改查
本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load ...
- jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块
jeesite配置指南(官方文档有坑,我把坑填了!)这篇文章里,我主要把jeesite官方给出的帮助文档的坑填了,按照里面的方法可以搭建起来jeesite的站点.系统可以运行以后,就可以进入开发模块了 ...
- 大数据之路week04--day05(java XML解析)
java解析XML的四种方式: XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不 ...
- jdbc 数据的增删改查的Statement Resultset PreparedStatement
完成数据库的连接,就马上要对数据库进行增删改查操作了:先来了解一下Statement 通过JDBC插入数据 (这里提供一个查找和插入方法) Statement:用于执行sql语句的对象: *1.通过C ...
随机推荐
- [转帖]从光刻机的发展,看懂ASML为何是不可取替
从光刻机的发展,看懂ASML为何是不可取替 http://mini.eastday.com/mobile/171230223351249.html# 2017-12-30 22:33 来源:半导 ...
- c# 中对于每次修改的程序 都必须重新手动生成 才能编译的问题
问题描述:原来用VS2017,升级了VS2019,发现修改了Winform界面,F5运行竟然还是原来的界面 问题解决: 需要修改两个地方 工具>> 选项>> 项目和解决方案&g ...
- Java基础---Java三元运算
一元运算符:只需要一个数据就可以进行操作的运算符.例如:取反!.自增++.自减--二元运算符:需要两个数据才可以进行操作的运算符.例如:加法+.赋值=三元运算符:需要三个数据才可以进行操作的运算符. ...
- [tensorflow] 入门day1-数据整理与展示
tensorflow真是一个我绕不开的坑(苍天饶过谁.jpg) 其实tensorflow1和2的差别挺大的,暂时从1入坑,2的话之后简单过一下. tf2中更改的函数(供参考):https://docs ...
- python并发编程之多线程(实践篇)
一.threading模块介绍 官网链接:https://docs.python.org/3/library/threading.html?highlight=threading# 1.开启线程的两种 ...
- 深度学习-mnist手写体识别
mnist手写体识别 Mnist数据集可以从官网下载,网址: http://yann.lecun.com/exdb/mnist/ 下载下来的数据集被分成两部分:55000行的训练数据集(mnist.t ...
- IE6/7下Select控件Display属性无效解决办法
HTML的Select控件,C#的DropDownList服务器控件 设置父类型Display属性之后,在IE6/7上无效 直接将下段javascript脚本添加到页面中即可 <script t ...
- 括号配对检测 A
括号配对检测 A ...
- my SO 链接opencv静态库一些FUCKing的笔记 opencv410 有毒
1. 2. CMake "/work/lib/opencv/ubuntu14/4.1.0" make[2]: *** No rule to make target `/usr/lo ...
- 关于GPU的传输速度与什么有关??
1. i5-8250U 1.6GHz 2. PCIE 3 4K 105fps = 10.45Gps 4K 一帧 = 99.5Mbit 4K YUV444 + mask = 3840*2 ...