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 ...
随机推荐
- CSS中使用text-transform实现首字母大写
CSS中首字母大写怎么实现?日常生活中需求方对英文的要求比较多,有的时候需要让英文单词或拼音首个字母大写;有的时候需要让全文中英文单词全大写或小写.这时候我们就需要text-transform属性了. ...
- 车销宝无线开单PDA 一款互联网+POS神器 无缝与电脑数据同步 无线POS开单解决方案
1.无线POS开单解决方案是基于后台系统开发的一套系统,它实现了采购入库退货.销售出库退货.盘点调拨等功能. 2.系统通过(WIFI.GPRS.GSM.蓝牙)实时后台库存.客户.商品.价格跟踪等信息, ...
- zabbix 3.0 完全安装全解!
环境准备: centos 6.5 x86_x64 安装依赖库文件 yum -y install mysql-devel net-snmp-devel curl curl-devel gcc pcre- ...
- unix shell命令
man commandxx 查看某个命令的使用说明 权限---------------------- chmod o+wx testfile 给某个目录权限 chmod 777 READ ...
- Nodejs reactjs服务端渲染优化SEO
一.准备动作 1.安装nodejs与安装express 安装nodejs教程:http://www.cnblogs.com/pigtail/archive/2013/01/08/2850486.htm ...
- U-Boot Driver Model领域模型设计
需求分析 在2014年以前,uboot没有一种类似于linux kernel的设备驱动模型,随着uboot支持的设备越来越多,其一直受到如下问题困扰: 设备初始化流程都独立实现,而且为了集成到系统,需 ...
- 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475
整天初赛题做做,生活没有希望 用单调队列优化的dp 因为满足后来的总比先来的(在某些方面)更优 所以能用单调队列 n2变成n #include <cstdio> ],b[],c[]; in ...
- es6 数组的工具类
根据Es6中map和Set的特性,实现了对array的分组和转换操作. exports.mapToObj = function (strMap) { let obj = Object.create(n ...
- 强制 history 不记住特定的命令
使用 HISTCONTROL 强制 history 不记住特定的命令将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格: # export HISTCON ...
- heml设置浏览器版本
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> action类获取se ...