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

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;

}

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

2021年恒创科技618活动:香港/美国服务器/云服务器/高防全场3折抢购

2021年恒创科技618活动香港美国服务器/云服务器/高防全场3折抢购,老客户续费送时长,每日限量秒杀。云服务器每款限量抢购,香港美国独服/高防每款限量5台/天,香港节点是CN2线路还不错。福利一:爆品秒杀 超低价秒杀,秒完即止;福利二:云服务器 火爆机型 3折疯抢;福利三:物理服务器 爆款直降 800元/月起;福利四:DDOS防护 超强防御仅 1750元/月。点击进入:2021年恒创科技618活...

GigsGigsCloud(年付26美元)国际线路美国VPS主机

已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...

360后台为你推荐
燃气热水器和电热水器哪个好燃气热水器好还是电热水器好?江门旅游景点哪个好玩的地方江门有哪些旅游景点,江门哪里好玩qq空间登录不了为什么我的QQ登陆不了QQ空间qq空间登录网址如何查询QQ空间登入地址?google广告申请Google广告用户申请有何绝招?东莞电信网上营业厅东莞电信网上营业厅是不是有个宽带团购活动?dns服务器故障DNS服务异常是什么意思dns服务器有什么用DNS服务器是干嘛的?上海dns服务器地址上海浦东新区dns是多少360云盘网页版登陆360云盘要求登录网页版是怎么回事
美国免费虚拟主机 中国万网域名注册 国外vps 抗投诉vps主机 awardspace paypal认证 512au 标准机柜尺寸 私有云存储 空间服务商 长沙服务器 发包服务器 本网站服务器在美国 百兆独享 江苏徐州移动 域名和主机 SmartAXMT800 godaddy中文 防盗链 hosts文件修改 更多