package dao;
import java.sql.*;
import java.util.*;
import entity.*;
public class ShopDao extends BaseDao{
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
public List listOrderByItem(String item) {
List list=new ArrayList();
if(item==null)
{
item="name";
}
String sql = "select*from Product order by"+item;
System.out.println(sql);
try {
conn = getCon();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
Product p=new Product();
p.setId(rs.getInt("productID"));
p.setNum(rs.getString("serialNumber"));
p.setName(rs.getString("name"));
p.setBrand(rs.getString("brand"));
p.setModel(rs.getString("model"));
p.setPrice(rs.getDouble("price"));
p.setPicture(rs.getString("picture"));
p.setDescription(rs.getString("description"));
list.add(p);
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally
{
this.closeAll(conn, pstmt, rs);
}
return list;
}
public List listOrderByItem(String item, int page) {
// TODO Auto-generated method stub
List list=new ArrayList();
int rowBegin=0;
if(item==null)
{
item="name";
}
if (page > 1) {
rowBegin = 10 * (page - 1); // 按页数取得开始行数,设每页可以显示5条
}
String sql = "select top 10 * from Product "
+ " where productID not in(select top " + rowBegin
+ " productID from Product "
+ " order by "+item+ " asc ) order by "+ item+ " asc";
System.out.println(sql);
try {
conn = getCon();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
Product p=new Product();
p.setId(rs.getInt("productID"));
p.setNum(rs.getString("serialNumber"));
p.setName(rs.getString("name"));
p.setBrand(rs.getString("brand"));
p.setModel(rs.getString("model"));
p.setPrice(rs.getDouble("price"));
p.setPicture(rs.getString("picture"));
p.setDescription(rs.getString("description"));
list.add(p);
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally
{
this.closeAll(conn, pstmt, rs);
}
return list;
}
//根据 id 获得一条信息
public Product getPro(int id) {
String sql = "select*from Product where productID="+id;
System.out.println(sql);
Product p=new Product();
try {
conn = getCon();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
p.setId(rs.getInt("productID"));
p.setNum(rs.getString("serialNumber"));
p.setName(rs.getString("name"));
p.setBrand(rs.getString("brand"));
p.setModel(rs.getString("model"));
p.setPrice(rs.getDouble("price"));
p.setPicture(rs.getString("picture"));
p.setDescription(rs.getString("description"));
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally
{
this.closeAll(conn, pstmt, rs);
}
return p;
}
//通过实体类中的 id 修改一条信息
public int updatePro(Product p)
{
int num=0;
String sql="update Product set serialNumber=?,name=?,brand=?,model=?,price=?,picture=?,description=? where productID="+p.getId();
try {
conn=getCon();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, p.getNum());
pstmt.setString(2,p.getName());
pstmt.setString(3, p.getBrand());
pstmt.setString(4, p.getModel());
pstmt.setDouble(5, p.getPrice());
pstmt.setString(6, p.getPicture());
pstmt.setString(7, p.getDescription());
num=pstmt.executeUpdate();
if(num>0)
System.out.println("修改成功");
else
System.out.println("修改失败");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return num;
}
//通过实体类添加一条信息
public int addPro(Product p)
{
int num=0;
String sql="insert into Product values(?,?,?,?,?,?,?)";
try {
conn=getCon();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, p.getName());
pstmt.setString(2,p.getName());
pstmt.setString(3, p.getBrand());
pstmt.setString(4, p.getModel());
pstmt.setDouble(5, p.getPrice());
pstmt.setString(6, p.getPicture());
pstmt.setString(7, p.getDescription());
num=pstmt.executeUpdate();
if(num>0)
System.out.println("添加成功");
else
System.out.println("添加失败");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return num;
}
//通过id删除记录
public int delPro(int id)
{
int num=0;
String sql="delete Product where productID="+id;
try {
conn=getCon();
pstmt=conn.prepareStatement(sql);
num=pstmt.executeUpdate();
if(num>0)
System.out.println("删除成功");
else
System.out.println("删除失败");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return num;
}
}
jsp 品红项目 源代码



"jsp 品红项目 源代码"所涵盖的知识点主要涉及Java Server Pages(JSP)技术在实际项目开发中的应用,特别是针对一个名为“品红”的项目。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript与Java代码结合在一起,用于构建Web应用程序。在这个项目中,我们可以通过源代码学习到以下几个关键知识点: 1. **JSP基本语法**:源代码中展示了JSP的基本元素,如指令(directives)、脚本元素(scriptlets)、表达式(expressions)和声明(declarations)。通过学习这些语法,我们可以理解如何在JSP页面上执行服务器端的逻辑。 2. **分页功能**:在Web应用中,分页是常见的数据展示方式,特别是在处理大量数据时。项目中包含的分页实现可能涉及到数据库查询优化、URL参数处理以及页面导航的实现。 3. **列表查询**:在“品红”项目中,源代码可能包含了对数据库的查询操作,用于展示列表数据。这通常涉及SQL语句的编写、JDBC的使用,以及与JSP交互的方式,如使用JSP标签库(Tag Libraries)或EL(Expression Language)表达式。 4. **ID查询**:针对特定ID进行数据查询是Web应用中常见的需求。源代码可能演示了如何接收用户输入的ID,然后根据该ID从数据库中获取对应的数据。 5. **增删改查(CRUD)操作**:这是所有数据库应用的基础。源代码中应有创建新记录、更新现有记录、删除记录的实现,这通常与表单提交、事务管理、错误处理等紧密结合。 6. **登录功能**:登录模块是大多数Web应用的入口,涉及到用户验证、会话管理。源代码可能会展示如何使用JSP处理用户的登录请求,包括密码加密、验证用户凭据和设置session等。 7. **文件组织结构**:在“Guanli”这个子目录中,我们可以预期找到项目的管理相关的代码。这可能包括控制器(Controller)类、模型(Model)类和视图(View)文件,以及相关的配置文件和资源文件。 8. **MVC模式**:作为Web开发的一种常见设计模式,Model-View-Controller模式在JSP项目中广泛使用。源代码将展示如何将业务逻辑(Model)、数据展示(View)和用户交互(Controller)分离,提高代码可维护性和复用性。 9. **数据库连接与管理**:项目可能使用了诸如JNDI、DataSource等方式来管理数据库连接,以实现数据库连接池,提升性能并优化资源管理。 10. **异常处理**:良好的异常处理机制对于任何项目都是至关重要的。源代码中应包含了对可能出现的异常进行捕获和处理的代码,确保系统稳定运行。 通过对这个“品红”项目源代码的深入研究,开发者不仅可以巩固JSP基础,还能了解到实际项目中的最佳实践和常见问题解决方案。这对于提升Web开发技能和理解企业级应用的架构设计都有极大的帮助。











































































- 1

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- zhouyujie2012-12-11很好,很基础。入门级学习必备。
- 尔东陈_2013-08-09基本的还行, 就是做得比较简单, 我本来想看看聊天的, 但是都没有聊天功能。
- ee234562012-08-15基本功能都有但没有聊天和留言簿的功能

- 粉丝: 671
- 资源: 210
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 信号完整性黑宝书三部曲
- 高频隔离型光伏离网单相逆变器控制算法及仿真:高频移相全桥电路,PI+R控制器与前馈补偿控制,仿真模型集成C代码 ,高频隔离型光伏离网单相逆变器控制算法:高频移相全桥升压+谐振控制器+双闭环dq解耦前馈
- 三相光伏并网逆变器:Mppt最大功率跟踪与800V中间母线电压的电力转换技术,三相光伏并网逆变器:实现最大功率跟踪与800V中间母线电压的优化处理,三相光伏并网逆变器 输入光伏Mppt 最大功率跟踪
- 代码随想录知识星球-八股文速记版_unlocked.pdf
- MATLAB TDOA定位仿真:基于多种方法解算技术的对比与研究(含与CRLB的比较分析) 参考方法包括来自多个领域的知识积累 ,MATLAB TDOA定位解算方法仿真研究:总览十五种算法并对比CR
- google-noto-sans-coptic-fonts-20141117-5.el7.x64-86.rpm.tar.gz
- Matlab综合能源系统优化建模求解:涵盖光热电站与ORC循环,多目标仿真分析,详细注释与完整数据助您快速上手,Matlab综合能源系统优化建模求解:涵盖光热电站与ORC循环的多目标优化分析代码(附详
- GDAL地理数据处理的开发环境
- 基于Labview的乐器调音系统:人性化操作与智能输出,内置多种乐器调音程序及参数自定义,附电子钢琴模拟程序与论述文章,基于Labview的乐器调音系统:人性化操作与智能输出,内置钢琴吉他调音程序及附
- 利用光伏储能并网技术与混合储能系统稳定母线电压:基于MPPT最大功率跟踪的MATLAB Simulink仿真研究,光伏储能并网系统中MPPT最大功率跟踪技术:混合储能装置的MATLAB Simulin
- 基于纳什讨价还价策略的多微网合作博弈:促进可再生能源市场化交易与灵活消费,基于纳什讨价还价策略的多微网合作博弈:优化交易与电价实现区域可再生能源灵活消费,基于合作博弈模型的多微网间日前交易研究 Hig
- MATLAB实现BO-GRU贝叶斯优化门控循环单元多输入单输出回归预测(含模型描述及示例代码)
- 电压外环与基于Boost峰值电流控制的闭环设计:60V输出调节与稳定性分析(附仿真文件matlab2017a),基于Boost峰值电流控制的电压外环与内环闭环设计:60V输出调节及稳定性分析,电压外环
- 电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性Mat
- 5套算法+深度学习机器学习恶意代码检测+python+数据集+web几种算法实现
- MATLAB实验:深入探究矩阵运算、绘图技巧与编程结构在信号处理中的应用,MATLAB实验系列:深入探究矩阵运算、绘图技巧与编程逻辑在信号处理中的应用,matlab实验 实验一 矩阵与数组的操作 矩阵


