基于JSP网上书店系统 第5页
else
break;
}
}
这一段代码的主要功能是:每一页最多显示pageSize个商品,如果超过pageSize个,就分页显示。PageSize在后面将会定义,其值我设置为10。
1)第二类方法是查询商品的id,全称,价格和note. 例如查找商品的ID:
public String getProductId()
{
return id;
}
4.3.3 实现订购单实体的Bean
客户每次购买一种商品都会产生一次订购单,它包括订单号,所购买的书号,所购买这种书的数量,这些构成了这个类的私有属性:
private String id;
private String orderId;
private String productId;
private String productNum;
1)客户每次选中一种商品后,点击放入购物车,就会产生一个订单,其实现代码如下:
String sql="insert into order_item(order_id,product_id,product_num) values(?,?,?) ";
ResultSet rs = null;
try
{
conn = DriverManager.getConnection(sConnStr);
PreparedStatement prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1,orderId);
prepStmt.setString(2,productId);
prepStmt.setString(3,productNum);
prepStmt.executeUpdate();
}
订购单,书号,购买数量都是作为参数传过来的。很明显,新建一张订购单其实就是在order_item表里插入一条新纪录就可以了。其原理已经在上面说过来了,就不在此重复了。
2)在后面的购物车里,一名顾客的最终消费总额就是根据这里一张张的订购单得到的,所以查找特定订单号的订购单是这个类里面不可缺少的方法,它的算法实质上就是条件查询,和前面的无条件查询相比,我只把sql语句作了改动:
String sql="select id,order_id,product_id,product_num from order_item where order_id= ? ";
2)第3个被封装的方法是设置,获得订购单号,书号,定购数量,并且还可以获得session price.
4.3.4 实现购物车实体的Bean
在现实生活中,人们去超市买东西,都是把商品放在一个购物篮里,等到把所有要买的东西选购完毕后,一起拿到收银台前付钱。我在程序里定义的购物车实体就是模拟这个功能.作为购物车,购物人,购物时间,所购书的总价格都是必不可少的:
private String id;
private String userName;
private String orderDate;
private String orderPrice;
我觉得在这个Bean里面主要要解决的一个问题,如何解决一个新的购物车。当一个顾客买完书提交购物车后,我们必须插入一个新的购物车纪录,这是由insertOrder()方法来实现的:其插入代码如下:
conn = DriverManager.getConnection(sConnStr);
PreparedStatement prepStmt = conn.prepareStatement(sql);
String curDate=(java.util.Calendar.getInstance().getTime()).toString();
prepStmt.setString(1,userName);
prepStmt.setString(2,curDate);
prepStmt.setString(3,orderPrice);
prepStmt.executeUpdate();
这里,插入的原理和前面是相同的,但是有一个地方需要解释:即购物时间字段,是采用的java.util.Calendar.getInstance().getTime(),这是一个库函数,被封装在java.util,在这个类定义的开头,我把这个库文件包含进来:
import java.util.*;
这个方法返回的结果必须把转化成String,否则后面插入数据库时会出现类型不匹配的错误。toString()就是用来实现类型转换的。
为了方便后面对这个购物车进行操作,我在这个方法里还获得了该购物车的id:
String selectStatement ="select id " +"from orderlist where user_name=? order by id desc ";
PreparedStatement prepStmt = conn.prepareStatement(selectStatement);
prepStmt.setString(1,userName);
ResultSet rs = prepStmt.executeQuery();
rs.next();
String result=rs.getString(1);
return result;
在sql里,查询特定用户购物车的id号,并且按照降序排列。是因为,针对一个网上购书系统,顾客可以多次在这里购书,那么在购物车表单里,针对一个顾客会有很多条他的购物纪录,而在数据库里,各条记录的id是安装时间先后顺序逐渐递增的,如果安装降序排列,那么得到的第一条记录则是最新插入的纪录。result=rs.getString(1)表示只把该条记录的第一个字段传给result,即把购物车的id号传给result。
4.3.5 实现购物实体的Bean
1)买书的第一步便是用户登录,现在购书网站都要求已经注册过的用户才能购买书籍,这样便于网站管理。checkUser(String userName,String userPassword)就是用来检验用户的合法性的:
public int checkUser(String userName,String userPassword)
{
int result=0;
UserEntity user=null;
try{
user=UserEntity.queryUser(userName);
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
if(user==null)
return 0;
String pass=user.getUserPassword();
if(pass.compareTo(userPassword)==0)
{
result=1;
this.userName=userName;
}
return result;
}
这个函数传过来的2个参数分别是用户登录时候填写的用户名和密码,前面已经介绍过,在UserEntity里面有一个查询特定用户名的记录的方法,我根据用户登录上填写的用户名查询记录:queryUser(userName),并把结果赋给一个对象user。把传过来的密码和和这个对象的密码比较,
pass.compareTo(userPassword)==0,如果相同,则用户是合法的,可以购买本网站的书籍,result=1;如果不相同,则说明他是非法登录的,只能浏览网站,不能买书,result=0。Result就是这个函数的返回值,是一个整型变量。
4.3.3 实现订购单实体的Bean
客户每次购买一种商品都会产生一次订购单,它包括订单号,所购买的书号,所购买这种书的数量,这些构成了这个类的私有属性:
private String id;
private String orderId;
private String productId;
private String productNum;
1)客户每次选中一种商品后,点击放入购物车,就会产生一个订单,其实现代码如下:
String sql="insert into order_item(order_id,product_id,product_num) values(?,?,?) ";
ResultSet rs = null;
try
{
conn = DriverManager.getConnection(sConnStr);
PreparedStatement prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1,orderId);
prepStmt.setString(2,productId);
prepStmt.setString(3,productNum);
prepStmt.executeUpdate();
}
订购单,书号,购买数量都是作为参数传过来的。很明显,新建一张订购单其实就是在order_item表里插入一条新纪录就可以了。其原理已经在上面说过来了,就不在此重复了。
2)在后面的购物车里,一名顾客的最终消费总额就是根据这里一张张的订购单得到的,所以查找特定订单号的订购单是这个类里面不可缺少的方法,它的算法实质上就是条件查询,和前面的无条件查询相比,我只把sql语句作了改动:
String sql="select id,order_id,product_id,product_num from order_item where order_id= ? ";
2)第3个被封装的方法是设置,获得订购单号,书号,定购数量,并且还可以获得session price.
4.3.4 实现购物车实体的Bean
在现实生活中,人们去超市买东西,都是把商品放在一个购物篮里,等到把所有要买的东西选购完毕后,一起拿到收银台前付钱。我在程序里定义的购物车实体就是模拟这个功能.作为购物车,购物人,购物时间,所购书的总价格都是必不可少的:
private String id;
private String userName;
private String orderDate;
private String orderPrice;
我觉得在这个Bean里面主要要解决的一个问题,如何解决一个新的购物车。当一个顾客买完书提交购物车后,我们必须插入一个新的购物车纪录,这是由insertOrder()方法来实现的:其插入代码如下:
conn = DriverManager.getConnection(sConnStr);
PreparedStatement prepStmt = conn.prepareStatement(sql);
String curDate=(java.util.Calendar.getInstance().getTime()).toString();
prepStmt.setString(1,userName);
prepStmt.setString(2,curDate);
prepStmt.setString(3,orderPrice);
prepStmt.executeUpdate();
这里,插入的原理和前面是相同的,但是有一个地方需要解释:即购物时间字段,是采用的java.util.Calendar.getInstance().getTime(),这是一个库函数,被封装在java.util,在这个类定义的开头,我把这个库文件包含进来:
import java.util.*;
这个方法返回的结果必须把转化成String,否则后面插入数据库时会出现类型不匹配的错误。toString()就是用来实现类型转换的。
为了方便后面对这个购物车进行操作,我在这个方法里还获得了该购物车的id:
String selectStatement ="select id " +"from orderlist where user_name=? order by id desc ";
PreparedStatement prepStmt = conn.prepareStatement(selectStatement);
prepStmt.setString(1,userName);
ResultSet rs = prepStmt.executeQuery();
rs.next();
String result=rs.getString(1);
return result;
在sql里,查询特定用户购物车的id号,并且按照降序排列。是因为,针对一个网上购书系统,顾客可以多次在这里购书,那么在购物车表单里,针对一个顾客会有很多条他的购物纪录,而在数据库里,各条记录的id是安装时间先后顺序逐渐递增的,如果安装降序排列,那么得到的第一条记录则是最新插入的纪录。result=rs.getString(1)表示只把该条记录的第一个字段传给result,即把购物车的id号传给result。
4.3.5 实现购物实体的Bean
1)买书的第一步便是用户登录,现在购书网站都要求已经注册过的用户才能购买书籍,这样便于网站管理。checkUser(String userName,String userPassword)就是用来检验用户的合法性的:
public int checkUser(String userName,String userPassword)
{
int result=0;
UserEntity user=null;
try{
user=UserEntity.queryUser(userName);
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
if(user==null)
return 0;
String pass=user.getUserPassword();
if(pass.compareTo(userPassword)==0)
{
result=1;
this.userName=userName;
}
return result;
}
这个函数传过来的2个参数分别是用户登录时候填写的用户名和密码,前面已经介绍过,在UserEntity里面有一个查询特定用户名的记录的方法,我根据用户登录上填写的用户名查询记录:queryUser(userName),并把结果赋给一个对象user。把传过来的密码和和这个对象的密码比较,
pass.compareTo(userPassword)==0,如果相同,则用户是合法的,可以购买本网站的书籍,result=1;如果不相同,则说明他是非法登录的,只能浏览网站,不能买书,result=0。Result就是这个函数的返回值,是一个整型变量。
若图片无法显示请联系QQ3249114
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页