要使用Java编写超市购物程序,您需要使用Java数据库编程技术来连接到您的数据库并执行相关的数据库操作.在Java中,您可以使用JDBC(Java数据库连接)API来连接到数据库并执行SQL语句.例如,您可以使用JDBC API来执行以下操作:
创建数据库连接
执行增删改查(CRUD)操作
提交或回滚事务
执行存储过程和函数
查询数据库元数据
此外,您还可以使用Java的面向对象编程技术来封装数据库操作,以便更方便地在您的程序中使用.例如,您可以创建一个类来表示超市商品,并定义一些方法来执行商品的增删改查操作.这样,您就可以在程序中通过调用这些方法来简单地完成对数据库的操作,而不需要编写复杂的SQL语句.
package com.company.dao;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class BaseDao {
// 数据库驱动
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//url
String url = "jdbc:sqlserver://数据库ip:端口号;databaseName=数据库名;";
//用户名
String uname = "数据库用户名";
//密码
String pwd = "数据库密码";
/**
* 获得连接对象
* @return
*/
protected Connection getCon(){
//返回的连接
Connection con = null;
try {
//载入驱动
Class.forName(driver);
//得到连接
con = DriverManager.getConnection(url, uname, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
}
return con;
* 关闭数据库
* @param con
* @param stmt
* @param rs
protected void closeDB(Connection con, Statement stmt, ResultSet rs){
if(rs != null){
//关闭结果集
rs.close();
rs = null;
if(stmt != null){
//关闭语句对象
stmt.close();
stmt = null;
if(con != null){
//关闭连接对象
con.close();
con = null;
protected void closeDB(Connection con, PreparedStatement pstmt, ResultSet rs){
if(pstmt != null){
pstmt.close();
pstmt = null;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
class 商品 extends Panel
{String 代号,名称;int 库存;float 单价; br/商品(String 代号,String 名称,int 库存,float 单价) br/{this.代号=代号;this.名称=名称;this.库存=库存;this.单价=单价; br/}
class ShowWin extends JFrame implements ActionListener
{ Hashtable hashtable=null;
JTextField 代号文本框=new JTextField(),
名称文本框=new JTextField(),
库存文本框=new JTextField(),
单价文本框=new JTextField(),
查询文本框=new JTextField(),
查询信息文本框=new JTextField(),
删除文本框=new JTextField();
JButton b_add=new JButton("添加商品"),
b_del=new JButton("删除商品"),
b_xun=new JButton("查询商品"),
b_xiu=new JButton("修改商品"),
b_show=new JButton("显示商品清单");
ShowWin()
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b_add) br/{String daihao=null,mingcheng=null;int kucun=0;float danjia=0.0f; br/daihao=代号文本框.getText();mingcheng=名称文本框.getText(); br/kucun=Integer.parseInt(库存文本框.getText()); br/danjia=Float.valueOf(单价文本框.getText()).floatValue(); br/商品 goods=new 商品(daihao,mingcheng,kucun,danjia); br/hashtable.put(daihao,goods); br/try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out=new ObjectOutputStream(file); br/out.writeObject(hashtable); out.close(); br/}
catch(IOException event){}
else if(e.getSource()==b_del)
{String daihao1=删除文本框.getText(); br/try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in=new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); ////// br/in.close(); br/} /dd /dl 补充: catch(ClassNotFoundException event){}
商品 temp=(商品)hashtable.get(daihao1);
{hashtable.remove(daihao1);}
try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out =new ObjectOutputStream(file); br/out.writeObject(hashtable);// br/out.close(); br/}
//
else if(e.getSource()==b_xun)
{ String aa;
aa=查询文本框.getText();
查询信息文本框.setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in =new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); //// br/in.close(); br/}
catch(ClassNotFoundException event){}
商品 a=(商品)hashtable.get(aa);
查询信息文本框.setText(" 代号:"+a.代号+" 名称:"+a.名称+" 库存:"+a.库存+" 单价:"+a.单价);
else if(e.getSource()==b_xiu)
{ String bb;
bb=代号文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in=new ObjectInputStream(come_in); /dd /dl dl dt 补充: /dt dd hashtable=(Hashtable)in.readObject(); ////// br/in.close(); br/}
商品 temp=(商品)hashtable.get(bb);
{hashtable.remove(bb);}
String daihao1=null,mingcheng1=null;int kucun1=0;float danjia1=0.0f;
daihao1=代号文本框.getText();mingcheng1=名称文本框.getText();
kucun1=Integer.parseInt(库存文本框.getText());
danjia1=Float.valueOf(单价文本框.getText()).floatValue();
商品 goods1=new 商品(daihao1,mingcheng1,kucun1,danjia1);
hashtable.put(daihao1,goods1);
try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out=new ObjectOutputStream(file); br/out.writeObject(hashtable); out.close(); br/}
else if(e.getSource()==b_show)
{ 显示区.setText(null); 补充: try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in =new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); //// br/}
Enumeration enum=hashtable.elements();
while(enum.hasMoreElements())
{ 商品 te=(商品)enum.nextElement();
显示区.append("商品代号:"+te.代号+" ");
显示区.append("商品名称:"+te.名称+" ");
显示区.append("商品库存:"+te.库存+" ");
显示区.append("商品单价:"+te.单价+" ");
显示区.append("\n ");
public class LinkListFour
终于完了! 追问: 这里面应该没有涉及到功能吧? 回答: 你可以根据这个写出来呀!呵呵.
class?ChanPinClass{
//产品编号
private?String?ChanPinBianHao;
//产品名称
private?String?ChanPinName;
//产品单价
private?String?ChanPinDanJia;
//产品库存
private?long?ChanPinKuCun;
*?私有化构造函数,供单例使用
private?ChanPinClass(){
private?static?ChanPinClass?cc?=?null;
*?可扩展的构造方法
public?static?ChanPinClass?getChanPinClass(Object...?obj)?throws?Exception{
if(cc?==?null){
cc?=?new?ChanPinClass();
int?obj_length?=?obj.length;
if(obj_length?==?0){
}else?if(obj_length?==?1){
cc.setChanPinBianHao(String.valueOf(obj[0]));
cc.setChanPinName(String.valueOf(obj[1]));
}else{
throw?new?Exception("参数不匹配!");
return?cc;
*?输出产品信息
public?void?ChanPinMessagePrint(){
StringBuffer?sb?=?new?StringBuffer();
sb.append(this.getChanPinBianHao()?==?null?||?"".equals(this.getChanPinBianHao())?"产品编号:无":"产品编号:"?+?this.getChanPinBianHao()).append("\n");
sb.append(this.getChanPinName()?==?null?||?"".equals(this.getChanPinName())?"产品名称:无":"产品名称:"?+?this.getChanPinName()).append("\n");
sb.append(this.getChanPinDanJia()?==?null?||?"".equals(this.getChanPinDanJia())?"产品单价:无":"产品单价:"?+?new?java.text.DecimalFormat("#.00").format(Double.parseDouble(this.getChanPinDanJia()))).append("\n");
sb.append(this.getChanPinKuCun()?=?0?"产品库存:无":"产品库存:"?+?this.getChanPinKuCun()).append("\n");
System.out.println(sb.toString());
public?String?getChanPinBianHao()?{
return?ChanPinBianHao;
public?void?setChanPinBianHao(String?chanPinBianHao)?{
ChanPinBianHao?=?chanPinBianHao;
public?String?getChanPinName()?{
return?ChanPinName;
public?void?setChanPinName(String?chanPinName)?{
ChanPinName?=?chanPinName;
public?String?getChanPinDanJia()?{
return?ChanPinDanJia;
public?void?setChanPinDanJia(String?chanPinDanJia)?{
ChanPinDanJia?=?chanPinDanJia;
public?long?getChanPinKuCun()?{
return?ChanPinKuCun;
public?void?setChanPinKuCun(long?hchanPinKuCunanPinKuCun)?{
ChanPinKuCun?=?hchanPinKuCunanPinKuCun;
public?class?ChanPinClassMain?{
public?static?void?main(String[]?args)?throws?Exception?{
//添加库存
//输出信息
ss.ChanPinMessagePrint();
以上就是土嘎嘎小编为大家整理的java库存代码实例相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!