对象购物网站的后台管理课程设计报告

360后台  时间:2021-01-28  阅读:()

课程设计项目购物网站的后台管理班级软件1307

学号

姓名刘帅

上课时间 2015.9.8——2015.9.18实训教师(签名)

辅导教师签名

一实训每日报告

第一天

Jdbc

Tes t 1packagecom.sun.jdbc;importjava.sql .Connection;importjava.sql .DriverManager;import java.sql .PreparedStatement;import java.sql .ResultSet;import java.sql .SQLException;publ ic classTest1{publ ic staticvoid main(String[] args)throws InstantiationException,

I l legalAccessException,ClassNotFoundException,SQLException{

//一个基本JDBC操作步骤

String className="com.mysql .jdbc.Driver";

Stringurl="jdbc:mysql ://127.0.0.1:3306/goodsdb?useUnicode=true&characterEncoding=utf8";

//1 创建数据库连接对象java.sql .Connection他是一个规范。具体的实现是由各数据库厂商提供的。

Class.forName(className).newInstance();//类加载。加载数据库的驱动类。

Connection conn=DriverManager.getConnection(url, "root", "") ;

// System.out.println(conn);

//2操作发送SQL。需要使用PreparedStatement对象。

String sql="select* from goods inner join types on goods.goodsType=types. id";

PreparedStatement pstat=conn.prepareStatement(sql);

//如果操作的增删改与查询执行的方法不同

//pstat.executeUpdate();

//3接收查询结果,接收数据库查询结果的对象叫结果集对象。 rs二维表格

ResultSet rs= pstat.executeQuery();whi le(rs.next()){

System.out.println("商品编号 "+rs.getInt("id"));

System.out.println(rs.getString("goodsName"));

System.out.println(rs.getFloat("goodsPrice"));

System.out.println(rs.getInt("goodsNum"));

System.out.println(rs.getInt("goodsType"));

System.out.println(rs.getString("type Name"));

System.out.println("---------------");

}

//4关闭

conn.close();

System.out.println("end");

}

}

Tes t 2packagecom.sun.jdbc;importjava.sql .Connection;importjava.sql .DriverManager;import java.sql .PreparedStatement;import java.sql .ResultSet;import java.sql .SQLException;publ ic classTest2{publ ic static void main(String[] args)throws InstantiationException,

I l legalAccessException,ClassNotFoundException,SQLException{

//一个基本JDBC操作步骤

String className="com.mysql .jdbc.Driver";

Stringurl="jdbc:mysql ://127.0.0.1:3306/goodsdb?useUnicode=true&characterEncoding=utf8";

//1 创建数据库连接对象java.sql .Connection他是一个规范。具体的实现是由各数据库厂商提供的。

Class.forName(className).newInstance();//类加载。加载数据库的驱动类。

Connection conn=DriverManager.getConnection(url, "root", "") ;

// System.out.println(conn);

//2操作发送SQL。需要使用PreparedStatement对象。

//在Pstat中可以使用参数。在SQL语句中使用号占位在

String sql="insert into goods(goodsName,goodsPrice,goodsNum,goodsType)values(?,?,?,?)";

PreparedStatement pstat=conn.prepareStatement(sql);

//如果操作的增删改与查询执行的方法不同pstat.setString(1, "手电筒");pstat.setFloat(2, 15.2f);pstat.setInt(3, 100);pstat.setInt(4,2);int i=pstat.executeUpdate();

System.out.println("操作影响了"+i+"行");

//4关闭conn.close();

System.out.println("end");

}

}

Utilspackagecom.sun.uti ls;importjava.sql .Connection;

importjava.sql .DriverManager;import java.sql .SQLException;

**

*数据库连接的工具类封装了数据库连接的创建和关闭的同一个线程中没关闭数据库连接之间获得数据库连接对象都是同一个。

*

*@author Boss

*

*/publ ic classConnectionUti ls {

//本地线程对象。一个线程中只有一个本地线程对象本地线程对象中可以存放一个对象。private staticThreadLocal<Connection>threadLocal=new

ThreadLocal<Connection>();private static final String CLASS_NAME="com.mysql .jdbc.Driver";private staticfinal String URL=

"jdbc:mysql ://127.0.0.1:3306/goodsdb?useUnicode=true&characterEncoding=utf8";static{try{

//类加载。加载数据库的驱动类。

Class.forName(CLASS_NAME).newInstance();

}catch(InstantiationException | I l legalAccessException

| ClassNotFoundException e) {e.pri ntSta ckTra ce();

}

}publ ic static Connection getConnection() throws SQLException{

Connection conn=threadLocal .get();//先从本地线程对象取数据库连接对象if(conn==nul l | | conn. isClosed()){//如果本地线程中没有连接对象

//创建连接

System.out.println("创建数据库连接 ");conn=DriverManager.getConnection(URL, "root", "");

//将连接放到本地线程threadLocal .set(conn);

}return conn;

}publ ic staticvoid closeConnection(){try{

Connection conn=getConnection();if(conn !=nul l&&!conn. isClosed()){conn.close();

}

}catch(SQLException e) {e.pri ntSta ckTra ce();

}final ly{threadLocal .set(nul l);

}

}

}

Te stpackage com.test;import java.sql .SQLException;import com.sun.uti ls.ConnectionUti ls;publ ic classTest {publ ic static void main(String[] args)throws SQLException{//TODO Auto-generated method stub

System.out.println(ConnectionUti ls.getConnection());System.out.println(ConnectionUti ls.getConnection());ConnectionUti ls.closeConnection();

System.out.println(ConnectionUti ls.getConnection());}

}

第二天

DBCP

Te stpackage com.test;importjava.sql .Connection;import com.uti ls.ConnectionUti ls;publ ic classTest {publ ic static void main(String[] args)throws Exception{//TODO Auto-generated method stub

Connection conn=ConnectionUti ls.getConnection();System.out.println(conn);

ConnectionUti ls.closeConnection();

}

}

Utilspackage com.uti ls;importjava. io. IOException;import java. io. InputStream;importjava.sql .Connection;import java.sql .SQLException;importjava.uti l .Properties;import javax.sql .DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;

**

*在这个类中连接对象的管理1获取连接对象2释放连接对象

*

*@author Boss

*/publ ic classConnectionUti ls {

//加载资源文件的内容private static Properties properties=new Properties();//加载资源文件的对象static{

//is对象是一个输入流对象try{

//is对象负责连接jdbc.properties文件

InputStream is=ConnectionUti ls.class

.getResourceAsStream("/jdbc.properties");

//将资源文件的内容加载到properties对象中properties. load(is);

//关闭is流对象is.close();

}catch(IOException e) {

//TODO Auto-generated catch blocke.pri ntSta ckTra ce();

}//加载资源文件

}private staticConnection conn=nul l;

**

*获取数据库连接的方法

*@return数据库连接对象

*@throws Exception

*/publ ic static Connection getConnection() throws Exception{

//连接的创建是有条件的连接不存在或连接已经关闭if (conn==nul l | | conn. isClosed()) {

//ds是数据源对象。在这个对象中管理和维护了大量数据库连接对象

DataSource ds=BasicDataSourceFactory.createDataSource(properties);conn=ds.getConnection();

}return conn;

}

**

*释放数据库连接的方法

*/publ ic staticvoid closeConnection() {try{

if (conn !=nul l&&!conn. isClosed()) {conn.close();

}

}catch(SQLException e) {e.pri ntSta ckTra ce();

}

}

}

Webroot

<%@page import="java.text.SimpleDateFormat"%>

<%@page language="java" import="java.uti l .*" pageEncoding="utf-8"%>

<%

String path=request.getContextPath();

String basePath=request.getScheme()+"://"+request.getServerNa me()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML4.01Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>MyJSP' index.jsp' starting page</title><meta http-equiv="pragma"content="no-cache">

<meta http-equiv="cache-control"content="no-cache">

<meta http-equiv="expires"content="0">

<meta http-equiv="keywords"content="keyword1,keyword2,keyword3">

<meta http-equiv="description"content="This is my page">

<!--

<l ink rel="stylesheet" type="text/css"href="styles.css">

-->

</head>

<body>

This is myJSP page.<br>

系统当前时间

<%

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date date=new Date();

String str =sdf.format(date);out.println(str);

%>

</body>

</html>

第三天

Co m.d aogoodsDAO:packagecom.dao;importjava.sql .Connection;import java.sql .PreparedStatement;import java.sql .ResultSet;import java.uti l .ArrayList;importjava.uti l .List;importcom.domain.Goods;import com.domain.Types;import com.uti ls.ConnectionUti ls;

**

*封装针对Goods表CURD的操作

*

*@author Boss

*

*/publ ic class GoodsDAO{

**

*查询所有商品的方法

*

*@return所有商品信息的集合对象

*@throws Exception

*/publ ic List<Goods>findAl l() throws Exception{try{

List<Goods>goodsList=new ArrayList<Goods>();

Connection conn=ConnectionUti ls.getConnection();

String sql="select* from goods innerjoin types on goods.goodsType=types. id";

PreparedStatement pstat=conn.prepareStatement(sql);

ResultSet rs=pstat.executeQuery();whi le(rs.next()) {

Goods goods=new Goods();goods.setId(rs.getInt("id"));goods.setGoodsName(rs.getString("goodsName"));goods.setGoodsPrice(rs.getFloat("goodsPrice"));goods.setGoodsNum(rs.getInt("goodsNum"));

Types types=new Types();types.setId(rs.getInt("goodsType"));types.setTypeName(rs.getString("typeName"));goods.setTypes(types);goodsList.add(goods);

}

return goodsList;

}final ly{

ConnectionUti ls.closeConnection();}

}

}

Com.domain:

Goods:packagecom.domain;

**

*封装goods表的数据的对象

*@author Boss

*

*/publ icclassGoods {private int id;private String goodsName;private float goodsPrice;private int goodsNum;private Types types;//对应商品的类型publ ic Goods() {

//TODO Auto-generated constructor stub}publ ic intgetId() {return id;

}publ icvoidsetId(int id) {this. id=id;

}publ ic String getGoodsName() {return goodsName;

}publ ic void setGoodsName(String goodsName) {this.goodsName=goodsName;

}publ ic floatgetGoodsPrice() {return goodsPrice;

}publ ic void setGoodsPrice(float goodsPrice) {this.goodsPrice=goodsPrice;

}publ ic intgetGoodsNum() {return goodsNum;

}

Sharktech$129/月,1Gbps不限流量,E5-2678v3(24核48线程)

Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

日本美国站群服务器raksmart站群新增,限量低至月1.99美元

RAKsmart 商家八月份的促销活动今天更新。基本上和上个月的产品套餐活动差不多的,不过也是有简单的微调。对于RAKsmart商家还是比较了解的,他们家产品虽然这两年增加多个机房,以及在VPS主机方案上有丰富的机房和调整到一些自营机房,他们家的策划能力还是有限,基本上每个月的套餐活动都差不多。RAKsmart 在八月份看到有新增香港高防服务器可选,最高100GB防御。同时原来上个月缺货的日本独立...

360后台为你推荐
p图软件哪个好用p图软件哪个好手机浏览器哪个好手机浏览器哪个好用浮动利率和固定利率哪个好房贷利率是固定的还是浮动的好?无纺布和熔喷布口罩哪个好活性碳口罩和无纺布口罩有什么不同?加速器哪个好英雄联盟有什么加速器好用的?海克斯皮肤哪个好海克斯安妮和摄魂薇恩哪个好 需要多少宝石海克斯皮肤哪个好lol100块抽11次的海克斯宝箱值得买吗oppo和vivo哪个好vivo好还是oppo手机好呢?qq网盘在哪里qq网盘在哪里dns服务器故障DNS服务异常是什么意思
新网域名 广州主机租用 快速域名备案 google电话 域名商 西安电信测速 fdcservers oneasiahost 圣迭戈 外国空间 evssl证书 debian6 512m内存 商家促销 mysql主机 java虚拟主机 申请个人网站 bgp双线 me空间社区 tna官网 更多