搜索
首页数据库mysql教程淘宝商城model部分_MySQL

淘宝商城

model

/** * 功能:这是一个数据库连接,一个model类 */package com.xf.model;import java.sql.*;public class ConnDB{	private Connection ct=null;		public Connection getConn()	{		try		{			Class.forName("com.mysql.jdbc.Driver");			ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/db3","root","");		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}				return ct;	}}
/** * 功能:这是一个model类对应goods表 */package com.xf.model;public class GoodsBean{	private long goodsId;		//货物ID	private String goodsName;	//货物名称	private String goodsIntro;	//介绍	private float goodsPrice;	//价格	private int goodsNum;		//数量	private String publisher;	//发行商	private String photo="11.jpg";		//照片	private String type;		//类型			public long getGoodsId()	{		return goodsId;	}	public void setGoodsId(long goodsId)	{		this.goodsId = goodsId;	}	public String getGoodsName()	{		return goodsName;	}	public void setGoodsName(String goodsName)	{		this.goodsName = goodsName;	}	public String getGoodsIntro()	{		return goodsIntro;	}	public void setGoodsIntro(String goodsIntro)	{		this.goodsIntro = goodsIntro;	}	public float getGoodsPrice()	{		return goodsPrice;	}	public void setGoodsPrice(float goodsPrice)	{		this.goodsPrice = goodsPrice;	}	public int getGoodsNum()	{		return goodsNum;	}	public void setGoodsNum(int goodsNum)	{		this.goodsNum = goodsNum;	}	public String getPublisher()	{		return publisher;	}	public void setPublisher(String publisher)	{		this.publisher = publisher;	}	public String getPhoto()	{		return photo;	}	public void setPhoto(String photo)	{		this.photo = photo;	}	public String getType()	{		return type;	}	public void setType(String type)	{		this.type = type;	}	}
/** * 功能:也是一个model,业务逻辑,处理和goods表相关的业务逻辑 */package com.xf.model;import java.sql.*;import java.util.ArrayList;public class GoodsBeanBO{	//定义一些要用到的变量	private ResultSet rs=null;	private Connection ct=null;	private PreparedStatement ps;			public int getPageCount(int pageSize)	{		int pageCount=0;	//总页数		int rowCount=0;	//一共有多少条记录		try		{			//链接数据库			ct=new ConnDB().getConn();			//查询语句			String mysql="select count(*) from `goods`";			ps=ct.prepareStatement(mysql);			//全部记录放入			rs=ps.executeQuery();						if(rs.next())	//如果查找到了数据			{				rowCount=rs.getInt(1);	//得到个数								if(rowCount%pageSize != 0)				{					pageCount=rowCount/pageSize+1;	//得到结果四舍五入然后加一				}				else				{					pageCount=rowCount/pageSize;	//恰好整除,那么就直接得到结果				}			}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			this.close();		}				return pageCount;	}		/**	 * 功能:得到分页数据,分页显示数据	 * @param pageSize 这个是每页面显示地个数	 * @author cutter_point	 * @param	pageNow	当前要显示地页面	 */	public ArrayList getGoodsByPage(int pageSize, int pageNow)	{		ArrayList a1=new ArrayList();	//这是要返回的数据				try		{			//得到链接			ct=new ConnDB().getConn();			//导入mysql语句			String mysql="select * from `goods` limit ?,?";			ps=ct.prepareStatement(mysql);			//吧?设置成想要变成的值			ps.setInt(1, pageSize*(pageNow-1));			ps.setInt(2, pageSize);			//执行查询,结果放入ResultSet中			rs=ps.executeQuery();						while(rs.next())	//只要取出一行数据,循环下去			{				GoodsBean gb=new GoodsBean();				//吧查找到的数据放入到gb中				gb.setGoodsId(rs.getInt(1));				gb.setGoodsName(rs.getString(2));				gb.setGoodsIntro(rs.getString(3));				gb.setGoodsPrice(rs.getFloat(4));				gb.setGoodsNum(rs.getInt(5));				gb.setPublisher(rs.getString(6));				gb.setPhoto(rs.getString(7));				gb.setType(rs.getString(8));								//吧goodsBean的数据放入到ArrayList里面去				a1.add(gb);							}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			this.close();		}				return a1;	//吧ArrayList返回上去			}		//根据货物id,得到货物具体信息的函数	public GoodsBean getGoodsBean(String id)	{		GoodsBean gb=new GoodsBean();		try		{			//建立连接			ct=new ConnDB().getConn();			//存放连接数据库的脚本语句			String mysql="select * from `goods` where `goodsId`=?";			ps=ct.prepareStatement(mysql);			//吧id传给第一个?			ps.setString(1, id);			//吧查询到的数据给rs			rs=ps.executeQuery();						if(rs.next())	//只要查找到了数据			{				//吧查找到的数据放入到gb中				gb.setGoodsId(rs.getInt(1));				gb.setGoodsName(rs.getString(2));				gb.setGoodsIntro(rs.getString(3));				gb.setGoodsPrice(rs.getFloat(4));				gb.setGoodsNum(rs.getInt(5));				gb.setPublisher(rs.getString(6));				gb.setPhoto(rs.getString(7));				gb.setType(rs.getString(8));			}					} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			//关闭资源			this.close();		}				return gb;	}		//关闭资源	public void close()	{		try		{			if(!rs.isClosed())			{				rs.close();				rs=null;			}			if(!ps.isClosed())			{				ps.close();				ps=null;			}			if(!ct.isClosed())			{				ct.close();				ct=null;			}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}	}		}
/** * 功能:这是一个BO(model),用来处理与购物相关的业务逻辑 * 时间:2014年7月9日14:29:30 * 作者:cutter_point */package com.xf.model;import java.sql.*;import java.util.*;public class MyCartBO{	//定义一个hashmap集合,用于存放书的ID和数量	HashMap<string string> hm=new HashMap<string string>();	//链接数据库的一些变量	private ResultSet rs=null;	private Connection ct=null;	private PreparedStatement ps=null;		private float allPrice=0.0f;	//得到这个商品的购买数量	public String getGoodsNumById(String goodsId)	{				return hm.get(goodsId);	}	//得到总价	public float getAllPrice()	{				return this.allPrice;	}	//1、添加货物	public void addGoods(String goodsId, String goodsNum)	{		hm.put(goodsId, goodsNum);	}		//2、删除货物	public void delGoods(String goodsId)	{		hm.remove(goodsId);	}		//3、清空货物	public void clear()	{		hm.clear();	}		//4、修改货物数量	public void upGoods(String goodsId, String newNum)	{		hm.put(goodsId, newNum);	}		//5、显示购物车	public ArrayList<goodsbean> showMyCart()	{		ArrayList<goodsbean> a1=new ArrayList<goodsbean>();				try		{			String mysql="select * from `goods` where `goodsId` in ";//(1,4)						//使用迭代器重hm中取出id			Iterator<string> it=hm.keySet().iterator();						String sub="(";						while(it.hasNext())	//迭代取出数据			{				//取出goodsId				String goodsId=(String)it.next();				//判断是不是最后一个id				if(it.hasNext())				{					sub+=goodsId+", ";				}				else				{					sub+=goodsId+")";				}			}						mysql+=sub;			//链接数据库进行mysql语句使用			ct=new ConnDB().getConn();			//然后声明要使用MySQL语句了			ps=ct.prepareStatement(mysql);			//得到语句执行结果			rs=ps.executeQuery();						//总价清空			this.allPrice=0.0f;						while(rs.next())			{				GoodsBean gb=new GoodsBean();				//吧查找到的数据放入到gb中				int goodsId=rs.getInt(1);				gb.setGoodsId(goodsId);				gb.setGoodsName(rs.getString(2));				gb.setGoodsIntro(rs.getString(3));				float unit=rs.getFloat(4);				gb.setGoodsPrice(unit);				gb.setGoodsNum(rs.getInt(5));				gb.setPublisher(rs.getString(6));				gb.setPhoto(rs.getString(7));				gb.setType(rs.getString(8));								this.allPrice+=unit*Integer.parseInt(this.getGoodsNumById(goodsId+""));								//吧goodsBean的数据放入到ArrayList里面去				a1.add(gb);			}					} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			this.close();		}				return a1;	}		//关闭资源	public void close()	{		try		{			if(!rs.isClosed())			{				rs.close();				rs=null;			}			if(!ps.isClosed())			{				ps.close();				ps=null;			}			if(!ct.isClosed())			{				ct.close();				ct=null;			}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}	}}</string></goodsbean></goodsbean></goodsbean></string></string>
/** * 这是一个model和order表对应 */package com.xf.model;import java.util.Date;public class OrderBean{	private long ordersId;		// '订单号' ,	private long userId;		// '那个用户订的' ,	private Date orderDate;		// '订单下的时期' ,	private String payMode;		// '付款方式' ,	private byte	isPayed;	//'0表示没有付款,1表示已经付款' ,	private float	totalPrice; //'总价格' ,	public long getOrdersId()	{		return ordersId;	}	public void setOrdersId(long ordersId)	{		this.ordersId = ordersId;	}	public long getUserId()	{		return userId;	}	public void setUserId(long userId)	{		this.userId = userId;	}	public Date getOrderDate()	{		return orderDate;	}	public void setOrderDate(Date orderDate)	{		this.orderDate = orderDate;	}	public String getPayMode()	{		return payMode;	}	public void setPayMode(String payMode)	{		this.payMode = payMode;	}	public byte getIsPayed()	{		return isPayed;	}	public void setIsPayed(byte isPayed)	{		this.isPayed = isPayed;	}	public float getTotalPrice()	{		return totalPrice;	}	public void setTotalPrice(float totalPrice)	{		this.totalPrice = totalPrice;	}		}
//这是一个model,对order,orderDetail的处理package com.xf.model;import java.sql.*;import java.util.*;public class OrderBeanBO{	//定义数据库相关变量	private	ResultSet			rs=null;	private Connection			ct=null;	private PreparedStatement	ps=null;			/**	 * 生成订单	 * @param mbo 用户的购物车	 * @param userId	用户ID	 * @return	返回一个订单详细信息bean【OderInfoBean】	 */	public OrderInfoBean addOrder(MyCartBO mcbo, String userId)	{		OrderInfoBean	oifb=new	OrderInfoBean();		boolean b=true;		try		{			//得到链接			ct=new ConnDB().getConn();			//带入MySQL代码			String mysql="insert	into	`orders`	(`userId`,	`isPayed`,	`totalPrice`) values(?,?,?)";			ps=ct.prepareStatement(mysql);			ps.setString(1, userId);			ps.setByte(2, (byte)0);			ps.setFloat(3, mcbo.getAllPrice());			//执行			int a=ps.executeUpdate();						if(a == 1)			{				//还得取出刚刚添加到orders表的订单号				//取出最后那条就是了				ps=ct.prepareStatement("select	max(`ordersId`) from	`orders`");				rs=ps.executeQuery();								int orderId=0;				if(rs.next())				{					orderId=rs.getInt(1);				}								//orders表天机成功				//添加ordersDetail表								//从购物车中取出所有选购的货物				ArrayList<goodsbean> a1=mcbo.showMyCart();								//循环添加到orderDetail中				//使用批量执行操作数据库				Statement sm=ct.createStatement();				for(int i=0 ; i != a1.size() ; ++i)				{					GoodsBean gb=(GoodsBean)a1.get(i);					String mysql2="insert	into	`orderDetail`	 values("+orderId+",	"+gb.getGoodsId()+",	"+mcbo.getGoodsNumById(gb.getGoodsId()+"")+")";					sm.addBatch(mysql2);				}								//批量执行				sm.executeBatch();								//顺带把要显示的订单细节				String mysql3="select	`ordersId`,	`truename`,	`address`,	`postcode`,	`phone`,	`totalPrice`,	`username`,	`email` from " +						"	`users`,	`orders` where	`ordersId`=?	and	`users`.userid= (		select	`orders`.userId		from " +						"	`orders`		where	`ordersId`=?	)";													//执行语句				ps=ct.prepareStatement(mysql3);				ps.setInt(1, orderId);				ps.setInt(2, orderId);								rs=ps.executeQuery();								if(rs.next())				{					//将rs封装到OrderInfoBean					oifb.setOrdersId(rs.getInt(1));					oifb.setTruename(rs.getString(2));					oifb.setAddress(rs.getString(3));					oifb.setPostcode(rs.getString(4));					oifb.setPhone(rs.getString(5));					oifb.setTotalPrice(rs.getFloat(6));					oifb.setUsername(rs.getString(7));					oifb.setEmail(rs.getString(8));				}							}		} 		catch (Exception e)		{			// TODO: handle exception			b=false;			e.printStackTrace();		}		finally		{			this.close();		}				if(b)		{			return oifb;		}		else		{			return null;		}	}		//关闭资源	public void close()	{		try		{			if(!rs.isClosed())			{				rs.close();				rs=null;			}			if(!ps.isClosed())			{				ps.close();				ps=null;			}			if(!ct.isClosed())			{				ct.close();				ct=null;			}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}	}	}</goodsbean>
package com.xf.model;public class OrderDetailBean{	private	long	orderIid;	private	long	goodsId;	private int		nums;	public long getOrderIid()	{		return orderIid;	}	public void setOrderIid(long orderIid)	{		this.orderIid = orderIid;	}	public long getGoodsId()	{		return goodsId;	}	public void setGoodsId(long goodsId)	{		this.goodsId = goodsId;	}	public int getNums()	{		return nums;	}	public void setNums(int nums)	{		this.nums = nums;	}	}
/** * 信息最全的bean */package com.xf.model;import java.util.Date;public class OrderInfoBean{	private long userid;		// '用户id',	private String username;	// '用户名',	private String truename;	// '真实姓名',	private String passwd;	// '密码',	private String email;		// '电子邮件',	private String phone;		// '电话号码',	private String address;	// '用户地址',	private String postcode;	// '编邮',	private int 	 grade=1;		// '户用级别',	private long ordersId;		// '订单号' ,	private long userId;		// '那个用户订的' ,	private Date orderDate;		// '订单下的时期' ,	private String payMode;		// '付款方式' ,	private byte	isPayed;	//'0表示没有付款,1表示已经付款' ,	private float	totalPrice; //'总价格' ,	public long getUserid()	{		return userid;	}	public void setUserid(long userid)	{		this.userid = userid;	}	public String getUsername()	{		return username;	}	public void setUsername(String username)	{		this.username = username;	}	public String getTruename()	{		return truename;	}	public void setTruename(String truename)	{		this.truename = truename;	}	public String getPasswd()	{		return passwd;	}	public void setPasswd(String passwd)	{		this.passwd = passwd;	}	public String getEmail()	{		return email;	}	public void setEmail(String email)	{		this.email = email;	}	public String getPhone()	{		return phone;	}	public void setPhone(String phone)	{		this.phone = phone;	}	public String getAddress()	{		return address;	}	public void setAddress(String address)	{		this.address = address;	}	public String getPostcode()	{		return postcode;	}	public void setPostcode(String postcode)	{		this.postcode = postcode;	}	public int getGrade()	{		return grade;	}	public void setGrade(int grade)	{		this.grade = grade;	}	public long getOrdersId()	{		return ordersId;	}	public void setOrdersId(long ordersId)	{		this.ordersId = ordersId;	}	public long getUserId()	{		return userId;	}	public void setUserId(long userId)	{		this.userId = userId;	}	public Date getOrderDate()	{		return orderDate;	}	public void setOrderDate(Date orderDate)	{		this.orderDate = orderDate;	}	public String getPayMode()	{		return payMode;	}	public void setPayMode(String payMode)	{		this.payMode = payMode;	}	public byte getIsPayed()	{		return isPayed;	}	public void setIsPayed(byte isPayed)	{		this.isPayed = isPayed;	}	public float getTotalPrice()	{		return totalPrice;	}	public void setTotalPrice(float totalPrice)	{		this.totalPrice = totalPrice;	}		}
package com.xf.model;public class UsersBean{	private long userid;		// '用户id',	private String username;	// '用户名',	private String truename;	// '真实姓名',	private String passwd;	// '密码',	private String email;		// '电子邮件',	private String phone;		// '电话号码',	private String address;	// '用户地址',	private String postcode;	// '编邮',	private int 	 grade=1;		// '户用级别',		public long getUserid()	{		return userid;	}	public void setUserid(long userid)	{		this.userid = userid;	}	public String getUsername()	{		return username;	}	public void setUsername(String username)	{		this.username = username;	}	public String getTruename()	{		return truename;	}	public void setTruename(String truename)	{		this.truename = truename;	}	public String getPasswd()	{		return passwd;	}	public void setPasswd(String passwd)	{		this.passwd = passwd;	}	public String getEmail()	{		return email;	}	public void setEmail(String email)	{		this.email = email;	}	public String getPhone()	{		return phone;	}	public void setPhone(String phone)	{		this.phone = phone;	}	public String getAddress()	{		return address;	}	public void setAddress(String address)	{		this.address = address;	}	public String getPostcode()	{		return postcode;	}	public void setPostcode(String postcode)	{		this.postcode = postcode;	}	public int getGrade()	{		return grade;	}	public void setGrade(int grade)	{		this.grade = grade;	}}
/** * 功能:处理有关users表的逻辑业务 * 时间:2014年7月10日15:22:10 * 作者:cutter_point */package com.xf.model;import java.sql.*;import com.xf.model.*;public class UsersBeanBo{	//连接数据库的一些变量	private Connection ct=null;	private ResultSet rs=null;	private PreparedStatement ps=null;		/**	 * 更具用户名返回用户的全部信息	 * @param u	 * @return UsersBean	 */	public UsersBean getUserBean(String u)	{		UsersBean ub=new UsersBean();		try		{			//连接			ct=new ConnDB().getConn();			//导入MySQL语句			String mysql="select * from `users` where username=? limit 0,1";			ps=ct.prepareStatement(mysql);			ps.setString(1, u);			//执行语句			rs=ps.executeQuery();						if(rs.next())			{				ub.setUserid(rs.getLong(1));				ub.setUsername(rs.getString(2));				ub.setTruename(rs.getString(3));				ub.setPasswd(rs.getString(4));				ub.setEmail(rs.getString(5));				ub.setPhone(rs.getString(6));				ub.setAddress(rs.getString(7));				ub.setPostcode(rs.getString(8));				ub.setGrade(rs.getInt(9));							}					} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			this.close();		}				return ub;	}		/**	 * @author xiaofeng	 * @param u 账号	 * @param p 密码	 */	public boolean checkUser(String u, String p)	{		boolean b=false;		try		{			//连接数据库			String mysql="select `passwd` from `users` where `username`=?";			//建立连接			ct=new ConnDB().getConn();			//导入语句			ps=ct.prepareStatement(mysql);			ps.setString(1, u);			//执行语句			rs=ps.executeQuery();						if(rs.next())			{				//取出数据库密码和p比较				String dbPasswd=rs.getString(1);								if(dbPasswd.equals(p))				{					b=true;				}			}								} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}		finally		{			this.close();		}				return b;	}		/**	 * @author xiaofeng	 * @param 关闭资源	 */	public void close()	{		try		{			if(!rs.isClosed())			{				rs.close();				rs=null;			}			if(!ps.isClosed())			{				ps.close();				ps=null;			}			if(!ct.isClosed())			{				ct.close();				ct=null;			}		} 		catch (Exception e)		{			// TODO: handle exception			e.printStackTrace();		}	}			}
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
减少在Docker中使用MySQL内存的使用减少在Docker中使用MySQL内存的使用Mar 04, 2025 pm 03:52 PM

本文探讨了Docker中的优化MySQL内存使用量。 它讨论了监视技术(Docker统计,性能架构,外部工具)和配置策略。 其中包括Docker内存限制,交换和cgroups

mysql无法打开共享库怎么解决mysql无法打开共享库怎么解决Mar 04, 2025 pm 04:01 PM

本文介绍了MySQL的“无法打开共享库”错误。 该问题源于MySQL无法找到必要的共享库(.SO/.DLL文件)。解决方案涉及通过系统软件包M验证库安装

如何使用Alter Table语句在MySQL中更改表?如何使用Alter Table语句在MySQL中更改表?Mar 19, 2025 pm 03:51 PM

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)Mar 04, 2025 pm 03:54 PM

本文比较使用/不使用PhpMyAdmin的Podman容器直接在Linux上安装MySQL。 它详细介绍了每种方法的安装步骤,强调了Podman在孤立,可移植性和可重复性方面的优势,还

什么是 SQLite?全面概述什么是 SQLite?全面概述Mar 04, 2025 pm 03:55 PM

本文提供了SQLite的全面概述,SQLite是一个独立的,无服务器的关系数据库。 它详细介绍了SQLite的优势(简单,可移植性,易用性)和缺点(并发限制,可伸缩性挑战)。 c

在MacOS上运行多个MySQL版本:逐步指南在MacOS上运行多个MySQL版本:逐步指南Mar 04, 2025 pm 03:49 PM

本指南展示了使用自制在MacOS上安装和管理多个MySQL版本。 它强调使用自制装置隔离安装,以防止冲突。 本文详细详细介绍了安装,起始/停止服务和最佳PRA

如何为MySQL连接配置SSL/TLS加密?如何为MySQL连接配置SSL/TLS加密?Mar 18, 2025 pm 12:01 PM

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?Mar 21, 2025 pm 06:28 PM

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)