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

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;

}

RAKsmart美国洛杉矶独立服务器 E3-1230 16GB内存 限时促销月$76

RAKsmart 商家我们应该较多的熟悉的,主营独立服务器和站群服务器业务。从去年开始有陆续的新增多个机房,包含韩国、日本、中国香港等。虽然他们家也有VPS主机,但是好像不是特别的重视,价格上特价的时候也是比较便宜的1.99美元月付(年中活动有促销)。不过他们的重点还是独立服务器,毕竟在这个产业中利润率较大。正如上面的Megalayer商家的美国服务器活动,这个同学有需要独立服务器,这里我一并整理...

HostYun全场9折,韩国VPS月付13.5元起,日本东京IIJ线路月付22.5元起

HostYun是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选,主要提供基于XEN和KVM架构VPS主机,数据中心包括中国香港、日本、德国、韩国和美国的多个地区,大部分机房为国内直连或者CN2等优质线路。本月商家全场9折优惠码仍然有效,以KVM架构产品为例,优惠后韩国VPS月付13.5元起,日本东京...

简单测评melbicom俄罗斯莫斯科数据中心的VPS,三网CN2回国,电信双程cn2

melbicom从2015年就开始运作了,在国内也是有一定的粉丝群,站长最早是从2017年开始介绍melbicom。上一次测评melbicom是在2018年,由于期间有不少人持续关注这个品牌,而且站长貌似也听说过路由什么的有变动的迹象。为此,今天重新对莫斯科数据中心的VPS进行一次简单测评,数据仅供参考。官方网站: https://melbicom.net比特币、信用卡、PayPal、支付宝、银联...

360后台为你推荐
免费卡巴斯基杀毒软件除了卡巴斯基,还有哪些杀毒软件桌面背景图片经典桌面壁纸电脑管家和360哪个好360和电脑管家哪个好朱祁钰和朱祁镇哪个好朱高炽是不是被朱瞻基谋杀的?朱祁镇和朱祁钰谁更好手机浏览器哪个好用手机哪个浏览器最好用红茶和绿茶哪个好红茶好还是绿茶好?播放器哪个好哪个播放器比较好用云盘哪个好免费的网盘哪个好用啊?qq空间登录网页版登录3G版手机QQ空间的网址群空间登录为什么QQ群空间登陆不了
便宜的虚拟主机 厦门虚拟主机 老鹰主机 美国php空间 国外免费空间 论坛空间 华为网络硬盘 台湾谷歌地址 新天域互联 刀片服务器是什么 新睿云 香港亚马逊 申请网站 网站加速软件 丽萨 数据库空间 新加坡空间 lamp是什么意思 江苏徐州移动 黑科云 更多