大数据之路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 ...
随机推荐
- 关于opencv的几个小总结
关于opencv的几个小总结 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:opencv是一个非常好用的开源图像处理与计算机视觉支持库,但是在实际使用 ...
- xml 数组 互相转换方法
public function xmlToArray($xml) { //将XML转为array $array_data = json_decode(json_encode(simplexml_loa ...
- JS 报错(intermediate value)(...) is not a function
- selenium + python 环境配置 (三)之启动chrome
安装启动chromedriver的方法和ie类似 2.启动chrome 即selenium调用ChromeDriver打开Chrome浏览器 ①下载并解压,你会得到一个chromedriver.exe ...
- Asp.Net Core 自定义验证属性
很多时候,在模型上的验证需要自己定义一些特定于我们需求的验证属性.所以这一篇我们就来介绍一下怎么自定义验证属性. 我们来实现一个验证邮箱域名的自定义验证属性,当然,最重要的是需要定义一个继承自Vali ...
- PHP基础之函数
函数概念: 函数是用来完成某种特定任务的可重用代码块; 函数可以使程序更具模块化,拥有良好的结构; 函数定义后在程序中可以重复调用; 函数分为内置函数和自定义函数 考点: 变量的作用域和静态变量 延伸 ...
- asp.net core-11.WebHost的配置
1.添加空的web网站 ,在目录下添加settings.json文件,在控制台上输出json的信息 public class Program { public static void Main(str ...
- spring cloud 停止服务
shutdown的默认url为host:port/shutdown,当需要停止服务时,向服务器post该请求即可,如:curl -X POST host:port/shutdown将得到形如{&quo ...
- gmpy安装使用方法
gmpy是一种C编码的Python扩展模块,提供对GMP(或MPIR)多精度算术库的访问.gmpy 1.17是1.x系列的最终版本,没有进一步的更新计划.所有进一步的开发都在2.x系列(也称为gmpy ...
- ajax post上传数据时,前端出现的跨域权限问题:ccess to XMLHttpRequest at ‘’rom origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok st
本人前端使用多个框架时,jq ajax传参出现如下报错: 最后发现,可能是xhr的相关默认参数被修改了.顾使用jq 传参时,一直报错,jq ajax额外添加的关键参数: crossDomain: ...