Java伪界面操作数据库的小实例
首先在Mysql中有两个表fruit和login:


package com.zuoye;
import java.sql.*;
import java.util.*;
public class Test {
public static String uid;
public static void main(String[] args)throws Exception{
Scanner sc = new Scanner(System.in);
System.out.println("用户名:");
uid =sc.nextLine();
System.out.println("密码:");
String pwd = sc.nextLine();
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?characterEconding=GBK","root","");
String sql ="select * from login where UserName=? and Password=?";
PreparedStatement p = conn.prepareStatement(sql);
p.setString(1, uid);
p.setString(2, pwd);
ResultSet rs = p.executeQuery();
boolean ok = rs.next();
if(ok){
System.out.println("欢迎您:"+rs.getString(2));
xuanxiang();
}
else{
System.out.println("用户名或密码有误");
}
main(args);
conn.close();
}
public static void xuanxiang() throws Exception{
Scanner sc = new Scanner(System.in);
System.out.println("*******选项*******");
System.out.println("1.显示所有商品");
System.out.println("2.添加商品");
System.out.println("3.购买商品");
System.out.println("4.退出");
String a = sc.nextLine();
if(a.equals("1")){
liebiao();
xuanxiang();
}
else if(a.equals("2")){
tianjia();
xuanxiang();
}
else if(a.equals("3")){
goumai();
xuanxiang();
}
else{
return;
}
}
public static void liebiao() throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection conn1 = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK","root","");
String sql1 = "select * from fruit";
Statement state1 = conn1.createStatement();
ResultSet rs1 = state1.executeQuery(sql1);
while(rs1.next()){
System.out.print(rs1.getString(1)+"\t");
System.out.print(rs1.getString(2)+"\t");
System.out.print(rs1.getString(3)+"\t");
System.out.print(rs1.getString(4)+"\t");
System.out.print(rs1.getString(5)+"\t");
System.out.print(rs1.getString(6)+"\n");
}
conn1.close();
}
public static void tianjia() throws Exception{
Scanner sc =new Scanner(System.in);
System.out.println("请输入编号:");
String bh =sc.nextLine();
System.out.println("请输入品种:");
String pz =sc.nextLine();
System.out.println("请输入价格:");
double jg =Double.parseDouble(sc.nextLine());
System.out.println("请输入产地:");
String cd =sc.nextLine();
System.out.println("请输入数量:");
int sl=Integer.parseInt(sc.nextLine());
System.out.println("请输入图片地址:");
String dz =sc.nextLine();
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?characterEconding=GBK","root","");
String sql ="insert into fruit values(?,?,?,?,?,?)";
PreparedStatement p = conn.prepareStatement(sql);
p.setString(1, bh);
p.setString(2, pz);
p.setDouble(3, jg);
p.setString(4, cd);
p.setInt(5, sl);
p.setString(6, dz);
p.executeUpdate();
conn.close();
}
public static void goumai() throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK","root","");
Scanner sc = new Scanner(System.in);
System.out.println("购买什么水果");
String pz = sc.nextLine();
System.out.println("买多少");
int gs = Integer.parseInt(sc.nextLine());
String sql1 ="select * from fruit where Name=?";
PreparedStatement p1 = conn.prepareStatement(sql1);
p1.setString(1, pz);
ResultSet rs2 = p1.executeQuery();
double s = 0;
while(rs2.next()){
s =(rs2.getDouble(3)*gs);
System.out.println(s);
}
String sql2="update fruit set Numbers = Numbers-? where Name =?";
PreparedStatement p2 = conn.prepareStatement(sql2);
p2.setInt(1, gs);
p2.setString(2, pz);
p2.executeUpdate();
String sql3="update login set Account = Account-? where UserName =?";
PreparedStatement p3 = conn.prepareStatement(sql3);
p3.setDouble(1, s);
p3.setString(2, uid);
p3.executeUpdate();
conn.close();
}
}
用户名:
lisi
密码:
666666
欢迎您:李四
*******选项*******
1.显示所有商品
2.添加商品
3.购买商品
4.退出
1
k001 苹果 2.40 烟台 87 image/0.gif
k002 菠萝 1.40 广东 90 image/1.gif
k003 桔子 2.40 福州 90 image/2.gif
k004 葡萄 2.40 新缰 90 image/3.gif
k005 樱桃 2.40 青岛 90 image/4.gif
k006 桃子 2.40 花果山 90 image/5.gif
k007 香蕉 2.40 济南 90 image/6.gif
*******选项*******
1.显示所有商品
2.添加商品
3.购买商品
4.退出
Java伪界面操作数据库的小实例的更多相关文章
- SQL语言(二) java怎样连接操作数据库中的数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- 分享一个以前写的基于C#语言操作数据库的小框架
一:前言 这个是以前写的操作MySQL数据库的小型框架,如果是中小型项目用起来也是很不错的,里面提供Filter.ModelPart.Relationship等机制实现操作数据库时的SQL语句的拼接和 ...
- java中如何操作数据库(增删改查)
EntityManager 是用来对实体Bean 进行操作的辅助类.他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满足条件的实体Bean.实体B ...
- java链接并操作数据库
链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...
- Mysql数据库基础小实例 学员管理系统菜单
package test; import java.sql.*; import java.util.Scanner; public class testSql002_StudentTest { /** ...
- Java之JDBC操作数据库
DBC JDBC就是一套接口,真正执行的是jar包里得实现类,通过泛型对象来执行实现类里的方法. 步骤: ###1.导入驱动jar包到工程中 ###2.编写代码注册驱动,我们要让程序知道用的是哪个驱动 ...
- JAVA连接、操作数据库的DBHelper
工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...
- 使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口
1.先启动MYSQL服务 2.打开navicat for mysql, 点击链接,输入如下的内容: 3.新建数据表 4.数据库(新建一个db.js) //数据库链接配置 module.exports ...
- Java程序要操作数据库,一定要使用JDBC技术吗?
<!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency> <groupId>mysql</groupId> <a ...
随机推荐
- ubuntu 16.04 + N驱动安装 +CUDA+Qt5 + opencv
Nvidia driver installation(after download XX.run installation file) 1. ctrl+Alt+F1 //go to virtual ...
- 【MongoDB初识】-结合C#简单使用,驱动2.x
public static Students GetEntityByName(string conStr, string userName = "bj") { Students s ...
- Backbone,Marionette,Talent学习笔记
具体以源码为准 Talent继承自Marionette继承自BackBone Region: 继承自Backbone.Event,show(view)会调用view.render(),然后$el.ap ...
- HashMap的内部实现机制,Hash是怎样实现的,什么时候ReHash
1.HashMap的内部实现机制 HashMap是对数据结构中哈希表(Hash Table)的实现,Hash表又叫散列表.Hash表是根据关键码Key来访问其对应的值Value的数据结构,它通过一个映 ...
- DB Scan算法的分析与实现
摘自:http://www.cnblogs.com/weixliu/archive/2012/12/08/2808815.html 根据上面第二个数据集的簇的形状比较怪异,分簇结果应该是连起来的属于一 ...
- Python for Infomatics 第14章 数据库和SQL应用二(译)
14.4 创建数据库和表 相比Python的列表和字典,数据库需要更多的已定义结构. 在我们创建数据库表之前,我们必须预先告诉数据库表和列的命名,以及计划保存到列中和数据类型.当数据库软件预先知道每列 ...
- C++文件操作(fstream)
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...
- JavaScript对象状态
有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物. 简单说,它有三个特征: * 状态总数(state)是有限的. * 任一时刻,只处在一种状态之中. ...
- C#详解format函数,各种格式化
一.String Format for Double Digits after decimal point This example formats double to string with fix ...
- 整理ViewController的生命周期和加载过程
按照执行顺序排列 - initWithCoder:通过nib文件初始化时触发 - awakeFromNib:nib文件被加载的时候,会发送一个awakeFromNib的消息到nib文件中的每个对象 p ...