JDBC 24homework
编写程序:
1. 创建商品信息表Goods(包含编号Code、名称Name、数量Number、单价Price)
2. 设计程序流程,由用户选择:插入、删除、修改、查询
程序效果如下:
(1)根据提示输入:1.插入 2.删除 3.修改 4.查询
(2)如果用户选择1. 则提示用户输入商品的编号、名称、数量、单价信息,并将用户输入的数据insert到表中。
(3)如果用户选择2,则表示用户要删除一个商品,提示用户输入商品编号,并根据用户输入的编号删除表中的记录。
(4)自行设计修改的实现方法
(5)自行设计查询的方法
package com.xt.java.base24; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner; public class UserTest { public static void main(String[] args) {
while(true){
Scanner scanner=new Scanner(System.in);
System.out.println("----------------欢迎进入商品管理系统-------------------");
System.out.println("插入----------1");
System.out.println("删除----------2");
System.out.println("修改----------3");
System.out.println("查询----------4");
System.out.println("退出----------0\n\n");
System.out.println("请选择您要进行的操作:");
int selectNum=scanner.nextInt();
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
String url="jdbc:mysql://localhost:3306/lyxdatabases"; //加载驱动,通过驱动管理器将Java与数据库建立联系。同时排除异常。
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,"root","1234");
stat=conn.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} switch(selectNum){
case 0:{
System.out.println("退出系统!!!");
System .exit(0);
break;
}
case 1:{
System.out.println("请输入您要插入的商品的编号:");
int gCode=scanner.nextInt();
System.out.println("请输入您要插入的商品的名称:");
String gName=scanner.next();
System.out.println("请输入您要插入的商品的数量:");
int gNumber=scanner.nextInt();
System.out.println("请输入您要插入的商品的价钱:");
double gPrice=scanner.nextDouble();
String sql="insert into goodsTwo values("+gCode+",'"+gName+"',"+gNumber+","+gPrice+")";
//查看sql语句是否输入正确!
System.out.println(sql);
try {
int affectedRows=stat.executeUpdate(sql);
if(affectedRows>0){
System.out.println("商品插入成功!");
}else{
System.out.println("商品插入失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(rs!=null){
rs.close();
}
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
break;
}
case 2:{
System.out.println("请输入您要删除的商品的编号:");
int gCode1=scanner.nextInt();
String sql1="delete from goodsTwo where code="+gCode1;
try {
int affectedRows1=stat.executeUpdate(sql1);
if(affectedRows1>0){
System.out.println("商品删除成功!!");
}else{
System.out.println("商品删除失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(rs!=null){
rs.close();
}
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
break;
}
case 3:{
while (true){
System.out.println("请输入您要改正的商品的编号:");
int gCode2=scanner.nextInt();
System.out.println("编号----------a");
System.out.println("名称----------b");
System.out.println("数量----------c");
System.out.println("价钱----------d");
System.out.println("操作完成,退出系统----------e"); System.out.println("----------请选择您要改正的对象:");
String mark=scanner.next();
/**
* 改正编号。。。
*/
if(mark.equals("a")){
System.out.println("请输入你要改正的编号:");
int code2=scanner.nextInt();
String sql2="update goodsTwo set code="+code2+" where code="+gCode2;
//查看sql2语句是否输入正确!
System.out.println(sql2); try {
int affectedRows1=stat.executeUpdate(sql2);
if(affectedRows1>0){
System.out.println("商品改正成功!!");
}else{
System.out.println("商品改正失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } /**
* 改正名称。。。。
*/
else if(mark.equals("b")){
System.out.println("请输入你要改正的名称:");
String gName=scanner.next();
String sql3="update goodsTwo set name='"+gName+"' where code="+gCode2;
//查看sql3语句是否输入正确!
System.out.println(sql3); try {
int affectedRows1=stat.executeUpdate(sql3);
if(affectedRows1>0){
System.out.println("商品改正成功!!");
}else{
System.out.println("商品改正失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
/**
* 改正数量。。。。
*/
else if(mark.equals("c")){
System.out.println("请输入你要改正的数量:");
int gNumber=scanner.nextInt();
String sql4="update goodsTwo set number="+gNumber+" where code="+gCode2;
//查看sql4语句是否输入正确!
System.out.println(sql4); try {
int affectedRows1=stat.executeUpdate(sql4);
if(affectedRows1>0){
System.out.println("商品改正成功!!");
}else{
System.out.println("商品改正失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(rs!=null){
rs.close();
}
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace(); } }
/**
* 改正价钱。。。
*/
else if(mark.equals("d")){
System.out.println("请输入你要改正的价钱:");
double gPrice2=scanner.nextDouble();
String sql4="update goodsTwo set price="+gPrice2+" where code="+gCode2;
//查看sql4语句是否输入正确!
System.out.println(sql4); try {
int affectedRows1=stat.executeUpdate(sql4);
if(affectedRows1>0){
System.out.println("商品改正成功!!");
}else{
System.out.println("商品改正失败,请重新操作。。。。。。");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
else if(mark.equals("e")){
System.out.println("操作完成,退出系统!!");
return;
}
else{
System.out.println("您输入的数据有错误,请重新输入!!!");
break;
} } }
case 4:{
System.out.println("请输入您要查询的商品的编号:");
int gCode5=scanner.nextInt();
String sql5="select* from goodsTwo where code="+gCode5;
try {
rs=stat.executeQuery(sql5);
while(rs.next()){
System.out.print("编号:"+rs.getInt("code")+" ");
System.out.print("名称:"+rs.getString("name")+" ");
System.out.print("数量:"+rs.getInt("number")+" ");
System.out.println("价钱:"+rs.getDouble("price"));}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } try {
if(rs!=null){
rs.close();
}
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
break;
} } } }
JDBC 24homework的更多相关文章
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- JDBC MySQL 多表关联查询查询
public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver&q ...
- JDBC增加删除修改
一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...
- JDBC简介
jdbc连接数据库的四个对象 DriverManager 驱动类 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...
- JDBC Tutorials: Commit or Rollback transaction in finally block
http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...
- FineReport如何用JDBC连接阿里云ADS数据库
在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...
- JDBC基础
今天看了看JDBC(Java DataBase Connectivity)总结一下 关于JDBC 加载JDBC驱动 建立数据库连接 创建一个Statement或者PreparedStatement 获 ...
随机推荐
- mysql与Oracle的区别:
1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大 ...
- Linux设备驱动程序 之 完成量
内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束:这个活动可能是,创建一个新的内核线程或者新的用户空间进程.对一个已有进程的某个请求,或者某种类型的硬件动作等: 内核提供 ...
- Notepad++格式化xml(转)
转自:http://www.herongyang.com/XML/NPP-XML-Tools-Plugin-Download-and-Install.html Downloading and inst ...
- 工具类注入需要的service
/** * 从redis获取信息 * @author yy * */ @Component//关键一:添加此注解才能被spring扫描到 public class CacheUtil { privat ...
- Fast R-CNN论文阅读摘要
论文链接: https://arxiv.org/pdf/1504.08083.pdf 代码下载: https://github.com/rbgirshick/fast-rcnn Abstract Co ...
- 自定义 TreeView 第三种状态(C#自定义控件)
本文核心部分采用 http://blog.csdn.net/am2004/article/details/1621349 此网站代码. 在增加了部份事件的同时,将点击图片更改节点选中状态 这一小地方作 ...
- CSS3动画相关属性详解
本文转载于:<https://blog.csdn.net/lyznice/article/details/54575905> 一.2D效果属性 要使用这些属性,我们需要通过 transfo ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-7.接口配置文件自动映射到属性和实体类配置
笔记 7.接口配置文件自动映射到属性和实体类配置 简介:使用@value注解配置文件自动映射到属性和实体类 1.添加 @Component或者Configuration 注解: ...
- [PySpark] RDD programming on a large file
重难点 一.parallelize 方法 一般来说,Spark会尝试根据集群的状况,来自动设定slices的数目.然而,你也可以通过传递给parallelize的第二个参数来进行手动设置. data_ ...
- java中使用MappedByteBuffer将 File类转ByteBuffer
public static WavFile openWavFile(File file) throws IOException, WavFileException { FileChannel chan ...