package dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import userbean.User;
import salebean.Sale;
//DAO(Data Access Object)数据访问对象
public class DbDao {
//该JavaBean做成单例模式
private static DbDao op;
private Connection conn;
private String driver;
private String url;
private String username;
private String pass;
//构造器私有
private DbDao(){
}
//构造器私有
private DbDao(String driver,String url,String username,String pass)
throws Exception{
this.driver = driver;
this.url = url;
this.username = username;
this.pass = pass;
Class.forName(driver);
conn = DriverManager.getConnection(url,username,pass);
}
//下面是各个成员属性的setter和getter方法
public void setDriver(String driver) {
this.driver = driver;
}
public void setUrl(String url) {
this.url = url;
}
public void setUsername(String username) {
this.username = username;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getDriver() {
return (this.driver);
}
public String getUrl() {
return (this.url);
}
public String getUsername() {
return (this.username);
}
public String getPass() {
return (this.pass);
}
//获取数据库连接
public void getConnection() throws Exception{
if (conn == null){
Class.forName(this.driver);
conn = DriverManager.getConnection(url,username,pass);
}
}
//实例化JavaBean的入口
public static DbDao instance(){
if (op == null)
{
op = new DbDao();
}
return op;
}
//实例化JavaBean的入口
public static DbDao instance(String driver,String url,String username, String pass)
throws Exception{
if (op == null){
op = new DbDao(driver,url,username,pass);
}
return op;
}
//用户注册信息
public boolean InsertByReg(User user) throws Exception{
getConnection();
String sql="insert into userReg values(?,?,?,?,?)";
PreparedStatement stamt=conn.prepareStatement(sql);
stamt.setString(1, user.getUserName());
stamt.setString(2, user.getUserPassword());
stamt.setString(3, user.getRealName());
stamt.setString(4, user.getTelephone());
stamt.setString(5, user.getEmail());
int rs=stamt.executeUpdate();
if(rs!=1){
return false;
}
return true;
}
//查询特定用户的基本信息
public List<User> query_user(String name) throws Exception{
getConnection();
String sql ="select * from userReg where UserName=?";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
List<User> all =new ArrayList<User>();
while(rs.next()){
User user=new User();
user.setUserName(rs.getString("UserName"));
user.setUserPassword(rs.getString("UserPassword"));
user.setRealName(rs.getString("RealName"));
user.setTelephone(rs.getString("Telephone"));
user.setEmail(rs.getString("Email"));
all.add(user);
}
return all;
}
//某用户登录后更改自己的信息
public boolean updateFromUser(String name,String pass,String rel,String tel,String email) throws Exception{
getConnection();
String sql="update userReg set UserPassword=?,RealName=?,Telephone=?,Email=? where UserName=?";
PreparedStatement stam=conn.prepareStatement(sql);
stam.setString(1,pass);
stam.setString(2,rel);
stam.setString(3,tel);
stam.setString(4,email);
stam.setString(5,name);
if(stam.executeUpdate()!=1){
return false;
}
return true;
}
/*公用区域代码*/
//登录验证
public boolean validate(User user) throws Exception{
getConnection();
String sql="select UserName,UserPassword from userReg where UserName=? and UserPassword=?";
PreparedStatement stam=conn.prepareStatement(sql);
stam.setString(1, user.getUserName());
stam.setString(2, user.getUserPassword());
ResultSet rs = stam.executeQuery();
if(rs.next()){
return true;
}
return false;
}
//添加用户购买商品到goodsBySale表中
public boolean insertToSale(Sale sale) throws Exception{
getConnection();
String sql="INSERT INTO goodsBySale values(?,?,?,?,?,?,now(),curdate(),?)";
PreparedStatement stam=conn.prepareStatement(sql);
stam.setString(1, sale.getSPtype());
stam.setString(2, sale.getSPName());
stam.setString(3, sale.getSPLOcation());
stam.setString(4, sale.getSPCompany());
stam.setString(5, sale.getSPrice());
stam.setString(6, sale.getSNum());
stam.setString(7, sale.getSBuyer());
if(stam.executeUpdate()!=1){
return false;
}
return true;
}
//查询某用户,历史购买信息
public List<Sale> query_history(String name) throws Exception{
getConnection();
String sql ="select * from goodsBySale where SBuyer=? order by STimeDetail desc";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
List<Sale> all =new ArrayList<Sale>();
while(rs.next()){
Sale sale=new Sale();
sale.setSPtype(rs.getString("SPType"));
sale.setSPName(rs.getString("SPName"));
sale.setSPLOcation(rs.getString("SPLocation"));
sale.setSPCompany(rs.getString("SPCompany"));
sale.setSPrice(rs.getString("SPrice"));
sale.setSNum(rs.getString("SNum"));
sale.setSTimeDetail(rs.getString("STimeDetail"));
all.add(sale);
}
return all;
}
//查出某用户历史消费,总金额
public int count(String name) throws Exception{
int count = 0;
getConnection();
String sql="select sum(b.a) from (select SPrice*SNum a from goodsBySale where SBuyer= ? ) as b";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
if(rs.next()){
count=rs.getInt(1);
}
return count;
}
//查询某用户,当天购买信息
public List<Sale> query_today(String name) throws Exception{
getConnection();
String sql ="select * from goodsBySale where SBuyer=? and STime=curdate() order by STimeDetail desc";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
List<Sale> all =new ArrayList<Sale>();
while(rs.next()){
Sale sale=new Sale();
sale.setSPtype(rs.getString("SPType"));
sale.setSPName(rs.getString("SPName"));
sale.setSPLOcation(rs.getString("SPLocation"));
sale.setSPCompany(rs.getString("SPCompany"));
sale.setSPrice(rs.getString("SPrice"));
sale.setSNum(rs.getString("SNum"));
sale.setSTimeDetail(rs.getString("STimeDetail"));
all.add(sale);
}
return all;
}
//查出某用户当天消费,总金额
public int count_today(String name) throws Exception{
int count = 0;
getConnection();
String sql="select sum(b.a) from (select SPrice*SNum a from goodsBySale where SBuyer= ? and STime=curdate()) as b";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
if(rs.next()){
count=rs.getInt(1);
}
return count;
}
//用户登录,删除当天他不想买了的商品
public boolean deleteFromSale(String dtime) throws Exception{
getConnection();
String sql="delete from goodsBySale where STimeDetail=?";
PreparedStatement stam=conn.prepareStatement(sql);
stam.setString(1,dtime);
if(stam.executeUpdate()!=1){
return false;
}
return true;
}
//用户登录,更改当天购买的商品数量
public boolean updateFromSale(String dtime,String num) throws Exception{
getConnection();
String sql="update goodsBySale set SNum=? where STimeDetail=?";
PreparedStatement stam=conn.prepareStatement(sql);
stam.setString(1, num);
stam.setString(2, dtime);
if(stam.executeUpdate()!=1){
return false;
}
return true;
}
//动态查询商品的类型
public ResultSet query_type() throws Exception{
getConnection();
String sql ="select distinct PType from goods ";
PreparedStatement stmt=conn.prep
没有合适的资源?快使用搜索试试~ 我知道了~
完整JSP购物车源码
共89个文件
jpg:30个
jsp:27个
java:7个
需积分: 4 50 下载量 75 浏览量
2011-03-26
00:54:05
上传
评论 1
收藏 1.05MB RAR 举报
温馨提示
用jsp和servlet是实现的购物车!希望对大家有帮助!
资源推荐
资源详情
资源评论
收起资源包目录
shopingcar.rar (89个子文件)
shopingcar
.project 1KB
database.sql 4KB
.myumldata 66B
.settings
com.genuitec.jboss.ide.eclipse.xdoclet.run.prefs 120B
org.eclipse.wst.validation.prefs 2KB
com.genuitec.eclipse.j2eedt.core.prefs 1KB
org.maven.ide.eclipse.prefs 253B
.mymetadata 304B
WebRoot
css
ware.css 659B
out
bye.jsp 506B
logout.jsp 193B
WEB-INF
web.xml 2KB
lib
mysql-connector-java-3.1.12-bin.jar 436KB
classes
dao
DbDao.class 8KB
servlet
RegServlet.class 4KB
modify_user_info.class 3KB
LoginSevlet.class 3KB
userbean
User.class 1KB
salebean
Sale.class 2KB
service
Service.class 835B
right
righttop.jsp 1KB
rightbottom.jsp 6KB
right.jsp 2KB
detailed
update_goods.jsp 847B
search_goods.jsp 2KB
history_buy.jsp 3KB
goodsinfo.jsp 4KB
goods_buy.jsp 2KB
goods.jsp 678B
delete_goods.jsp 787B
today_buy.jsp 3KB
search_result.jsp 5KB
success
welcome.jsp 644B
index.jsp 1008B
main
main.jsp 1KB
META-INF
MANIFEST.MF 39B
change_img.jsp 9KB
PImg
xzl.jpg 2KB
p1.jpg 2KB
lunyu.jpg 3KB
bx.jpg 3KB
img
ad1.jpg 48KB
ad6.jpg 27KB
p10.jpg 18KB
ad5.jpg 27KB
p8.jpg 20KB
rtop.jpg 39KB
left.jpg 30KB
p7.jpg 15KB
ad4.jpg 41KB
js.js 1KB
p2.jpg 2KB
p1.jpg 2KB
r2.gif 9KB
pixviewer.swf 10KB
r1.jpg 39KB
p5.jpg 2KB
image.jsp 2KB
fish.jpg 8KB
00.gif 1KB
ad3.jpg 49KB
p12.jpg 26KB
p6.jpg 2KB
r3.jpg 27KB
topss.jpg 82KB
ad2.jpg 29KB
p3.jpg 2KB
p9.jpg 16KB
p4.jpg 21KB
r2.jpg 38KB
top.jpg 96KB
p11.jpg 22KB
userinfo
modify_user_info.jsp 2KB
user_info.jsp 3KB
js
date.js 256B
error
error.jsp 663B
top
top.jsp 812B
left
register.jsp 2KB
left.jsp 3KB
getBackPass.jsp 563B
getOldPass.jsp 2KB
src
dao
DbDao.java 14KB
servlet
RegServlet.java 5KB
modify_user_info.java 4KB
LoginSevlet.java 3KB
userbean
User.java 870B
salebean
Sale.java 1KB
service
Service.java 319B
.classpath 458B
共 89 条
- 1
资源评论
cqkdwxyj
- 粉丝: 25
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java毕业设计+扫雷(程序)
- strawberry-perl-5.38.2.2-64bit.msi
- MeyboMail Web(Java)简化版
- java(结合lucene)版的公交搜索系统
- 【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 - 条件渲染 - 循环渲染 )
- 稽查监控平台标准化设计数据模型设计
- 一款极好用的 Office/WPS/Word/Excel/PPT/PDF工具箱软件 OfficeUtils 2.7
- 基于STM32的家庭环境参数检测系统设计
- 夺宝答题王答题小程序源码 开源可二开 Thinkphp内核
- Linux 系统下 Hadoop 安装配置教程.md
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功