本次课任务实现商品管理

一、建立数据库、商品表

1、安装SQLserver2005,建立数据库ebuy、goods表

gid 主键,标识规范 种子1000,自动增1

add_time 默认值 getdate()

2、设置管理员账号shopping,密码shopping

3、设置SQLServer身份和windows身份均可登录数据库

4、启动Tcp/ip协议1433端口,实现应用程序对数据库的访问

5、测试SQL命令使用insert、select、update、delete

update  goods set num=100 where name='咖啡2'
select * from goods

二、数据库访问技术

1、  加载JDBC驱动程序

(1)纯JDBC驱动程序下载http://www.microsoft.com/china

(2)SQL Server2005、2008驱动程序的代码如下:

Class.forName("com.microsoft.sqlserver. jdbc.SQLServerDriver");

(3)Myeclipse中加载外部包

2、创建数据库连接

Connection conn = DriverManager.getConnection(

"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=shopping, “sa”,“sa”);

3、获取Statement对象

(1)Statement实例:该类型的实例只能用来执行静态的SQL语句;

(2)PreparedStatement实例:该类型的实例增加了执行动态SQL语句的功能;

4、  执行SQL语句

(1)执行查询语句rs=stmt.executeQuery(sql); 提交查询,查询结果保存在rs结果集。

(2)执行更新语句 intn=stmt.executeUpdate(sql);更新记录的数目保存在n中,便于程序检查语句执行情况。

5、  读取查询语句的结果集

while(rs.next)

{

out.println(rs.getString(1));  //显示记录集第一列数据字符串数据

}

6、 关闭连接

在建立Connection,Statement和ResultSet实例时,均需占用一定的数据库和JDBC资源,所以每次访问数据库结束后,应该及时销毁这些实例,释放它们占用的所有资源,方法是通过各个实例的close()方法,并且在关闭时建议按照以下的顺序:ResultSet>Statement>Connection

代码结构如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%
Connection conn=null;
Statement  stmt=null;
ResultSet rs=null;
String url="jdbc:sqlserver://10.40.43.202:1433;Database=ebuy";
String user="shopping";
String password="shopping";
String sql="select * from goods";
String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//用户使用对象创建

Class.forName(className);

//JDBC驱动程序

conn=DriverManager.getConnection(url, user, password);

//链接数据库
stmt=conn.createStatement();

//创建通道
rs=stmt.executeQuery(sql);

//执行查询SQL语句
while(rs.next()){
out.println(rs.getString("name")+"<br/>");
}

rs.close();
stmt.close();
conn.close();
 %>

三、网页实现商品查看功能

1、创建商品Bean

package mybean;

public class Goods {
    private int gid;
    private String name;
    private float price;
    private int num;
    private String content;
    private String add_time;
    public int getGid() {
        return gid;
    }
    public void setGid(int gid) {
        this.gid = gid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getPrice() {
        return price;
    }
    public void setPrice(float price) {
        this.price = price;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getAdd_time() {
        return add_time;
    }
    public void setAdd_time(String add_time) {
        this.add_time = add_time;
    }

}

2、商品DAO实现商品查询功能

package mybean;
import java.sql.*;
import java.util.LinkedList;
public class GoodsDAO {
  
public LinkedList<Goods> list()
{
    LinkedList<Goods> ls=new LinkedList<Goods>();
    Connection conn=null;
    Statement  stmt=null;
    ResultSet rs=null;
    String url="jdbc:sqlserver://10.40.43.202:1433;Database=ebuy";
    String user="shopping";
    String password="shopping";
    String sql="select * from goods";

String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";

try {
        Class.forName(className);
    
    conn=DriverManager.getConnection(url, user, password);
    stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    
    while(rs.next()){
    Goods g=new Goods();
    g.setGid(rs.getInt("gid"));
    g.setName(rs.getString("name"));
    g.setPrice(rs.getFloat("price"));
    g.setNum(rs.getInt("num"));
    ls.add(g);
    }
    
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

try {
        if(rs!=null)
            {rs.close();}
        if(stmt!=null)
            {stmt.close();}
        if(conn!=null)
            {conn.close();}
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    
    return ls;
}
}

3、JSP文件调用DAO,实现显示商品信息

4、商品浏览页面设计

转载于:https://blog.51cto.com/dyzyxy/1619134

JSP第六次课:数据库访问显示商品信息相关推荐

  1. 第十次课:前台首页设计及显示商品信息

    一.前台首页设计 0.css样式 @charset "utf-8"; /*全局设置*/ *{  padding:0;  margin:0; } body {  font-size: ...

  2. 显示商品信息(java web)

    一.目的      在jsp页面中显示手机商品的信息. 二.思想步骤      2.1收集手机图片信息,价格信息,手机名信息等.      2.2 创建mysql数据库,新建表,将信息存入表中.   ...

  3. 创建Supermarket数据库并查询商品信息

    create database Supermakat on primary (name='sp',filename='D:\sp.mdf',size=3MB,maxsize=unlimited,fil ...

  4. JAVAWEB使用JSP+Servlet实现商品管理功能,后台为数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。

    商品管理功能 一.功能介绍 1.1显示 1.2商品详情 1.3新增 1.4修改 1.5删除 二.数据库语句 三.项目结构 四.java代码 4.1Good类 4.2 Charge类 4.3GoodDa ...

  5. 如何建立JSP操作用以提高数据库访问效率

    从服务器端促进程序快速开发的java Server Pages (jsp)决定它成为一种广为流行的工具.虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是 ...

  6. C#三层架构第九课之反射和工厂模式实现多数据库访问

    反射和工厂模式实现不同数据库访问 在之前上课的基础上,使用反射和模唱模式,实现针对不同数据库的动态访问. 在之前的三层架构代码基础上进行修改. 使用三层架构+工厂模式,来实现一个程序访问多个数据库. ...

  7. python中高阶函数map怎么用_python六十课——高阶函数之map

    1.高阶函数: 特点:函数的形参位置必须接受一个函数对象 分类学习: 1).map(fn,lsd1,[lsd2...]): 参数一:fn --> 函数对象 参数二:lsd1 --> 序列对 ...

  8. jsp mysql问卷调查_课内资源 - 基于JSP的在线调查问卷系统

    一.系统架构图 用户登入功能,由login.jsp页面和LoginServlet.java组成,页面用于填写用户名和密码:Servlet用于验证是否可以登入,如果能够登入,则将用户登入时间记录到数据库 ...

  9. JSP基于JDBC操作MSSQL2008数据库

    JSP基于JDBC操作MSSQL2008数据库 在JSP 中可以使用JDBC 技术,实现对数据库中表记录的查询.修改和删除等操作.JDBC 技术在JSP 开发中占有很重要的地位. JDBC(Java ...

最新文章

  1. python windows epoll_Windows 10生产力提升之WSL实践
  2. 如何破解压缩文件密码-省时省力的方法
  3. 深度解析 Lucene 轻量级全文索引实现原理
  4. Java中比较对象的两个接口Comparable接口和Comparator接口
  5. lvs 负载均衡原理及其配置之 nat 模式
  6. 使用netfilter_queue改包笔记
  7. UVA 12034 Race
  8. TextView显示插入的图片
  9. 分析引擎 2.0 已来,神策再刷行业标准!
  10. Java多线程(八)之Semaphore、CountDownLatch、CyclicBarrier、Exchanger
  11. bio阻塞的缺点_java 中的 BIO/NIO/AIO 详解
  12. 从业16年,经历了这7个数据仓库的变化,总结出了这份干货
  13. 流程和企业成熟度模型(PEMM)
  14. 项目文档:IT项目管理
  15. notifyIcon 用法
  16. 520情人节|用Python跟‘喜欢的人’表白
  17. P1567 统计天数 python代码
  18. DataGrip如何将创建的console保存路径设置到指定目录?
  19. SpringBoot工程如何打war包进行云部署
  20. Spring之魔丸降世

热门文章

  1. Linux—shell中$(( ))、$( )、``与${ }的区别
  2. Revising Aggregations - Averages(集合函数-avg)
  3. leetcode 41. First Missing Positive
  4. VHDL硬件描述语言(二)——子程序
  5. vuex分模块后,如何获取state的值
  6. python的__init__几种方法总结【转载】
  7. Python自动化开发 - 字符编码、文件和集合
  8. App 上传遇到问题
  9. 【Oracle】逻辑结构(TableSpace→Segment→Extent→Block)
  10. ApplicationEventPublisherAware--待完善