大数据之路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 ...
随机推荐
- 【ARM-Linux开发】TI AM437x调试WEB CAM
Rico Board是基于TI AM437x的一款小型学习板,提供的丰富的接口以及资源,能够实现很多有趣的idea,从本周起,开始总共四期的实验教程,帮助玩家们快速上手Rico Board在嵌入式上面 ...
- win7/Ubuntu双系统给Ubuntu扩大硬盘
问题 电脑上装了windows 7和ubuntu双系统,起初分配硬盘的时候,给ubuntu划分的量较少,如今硬盘空间已不够用,另外挂载分区也不够方便.希望能在不重装系统的情况下,从win7的硬盘中分一 ...
- Qt 和 Boost关于信号和槽的对比说明
对比 无论是 Qt 的实现方式还是 Boost 的实现方式,除了必须的定义信号和槽的类之外,都不需要额外的类. 两种实现都解决了类爆炸的问题.下面让我们对照着来看一下我们前面的分析. 两个不同的术语以 ...
- python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例
熟悉老一代QQ的小伙伴可能都知道,很早以前的QQ,鼠标滑到头像的位置,你的位置和IP会在详情页显示,那么这个是如何做到的呢?下面我们就来玩一玩这个东西 首先,需求分析: 1.拿到客户端IP 2.通过I ...
- 解决RabbitMQ消息丢失问题和保证消息可靠性(一)
原文链接(作者一个人):https://juejin.im/post/5d468591f265da03b810427e 工作中经常用到消息中间件来解决系统间的解耦问题或者高并发消峰问题,但是消息的可靠 ...
- MyEclipse开发第一个java程序HelloWorld
[学习笔记] 用MyEclipse开发第一个java程序: 我们先看看一个具体例子,给你们有个先入为主的感觉. 步骤一:在Eclipse开发工具中我们New一个java项目, 如图2_1 图2_1 步 ...
- python--接口自动化测试(接口状态)
本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python 版本直接安装就以了,建议 下载python2.7.1 ...
- shell习题第27题:带选项的增删用户脚本
[题目要求] 写一个支持选项的增加或删除用户的shell脚本 #!/bin/bash ]; then echo "Wrong, use bash $0 --add username, or ...
- Spring Boot 全局Exception处理
一.代码如下 package com.zxguan; import org.springframework.web.bind.annotation.ControllerAdvice; import o ...
- Android 自定义控件之 日期选择控件
效果如下: 调用的代码: @OnClick(R.id.btn0) public void btn0() { final AlertDialog dialog = new AlertDialog.Bui ...