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

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;

}

2021年7月最新洛杉矶CN2/香港CN2 vps套餐及搬瓦工优惠码 循环终身优惠6.58%

搬瓦工怎么样?2021年7月最新vps套餐推荐及搬瓦工优惠码整理,搬瓦工优惠码可以在购买的时候获取一些优惠,一般来说力度都在 6% 左右。本文整理一下 2021 年 7 月最新的搬瓦工优惠码,目前折扣力度最大是 6.58%,并且是循环折扣,续费有效,可以一直享受优惠价格续费的。搬瓦工优惠码基本上可能每年才会更新一次,大家可以收藏本文,会保持搬瓦工最新优惠码更新的。点击进入:搬瓦工最新官方网站搬瓦工...

CloudCone中国春节优惠活动限定指定注册时间年付VPS主机$13.5

CloudCone 商家产品还是比较有特点的,支持随时的删除机器按时间计费模式,类似什么熟悉的Vultr、Linode、DO等服务商,但是也有不足之处就在于机房太少。商家的活动也是经常有的,比如这次中国春节期间商家也是有提供活动,比如有限定指定时间段之前注册的用户可以享受年付优惠VPS主机,比如年付13.5美元。1、CloudCone新年礼物限定款仅限2019年注册优惠购买,活动开始时间:1月31...

小渣云(36元/月)美国VPS洛杉矶 8核 8G

小渣云 做那个你想都不敢想的套餐 你现在也许不知道小渣云 不过未来你将被小渣云的产品所吸引小渣云 专注于一个套餐的商家 把性价比 稳定性 以及价格做到极致的商家,也许你不相信36元在别人家1核1G都买不到的价格在小渣云却可以买到 8核8G 高配云服务器,并且在安全性 稳定性 都是极高的标准。小渣云 目前使用的是美国超级稳定的ceranetworks机房 数据安全上 每5天备份一次数据倒异地 支持一...

360后台为你推荐
金士顿内存真假怎样分辨金士顿内存真假滴滴软银合资嘀嘀打车是腾讯的还是阿里巴巴的免费阅读小说app哪个好想看小说有什么好用的app推荐?杰士邦和杜蕾斯哪个好安全套是杜蕾斯的好用还是杰士邦的好用?核芯显卡与独立显卡哪个好核心显卡和独立显卡哪个好播放器哪个好什么播放器好用看书软件哪个好手机读书软件哪个好用?辽宁联通网上营业厅我进入到的中国联通微信营业厅,该如何进入到人工服务啊?辽宁联通网上营业厅网中国联通的初始服务密码一般是多少东莞电信网上营业厅东莞虎门的中国电信营业厅的电话是多少?
免备案虚拟主机 免费cn域名注册 未注册域名查询 合租服务器 便宜vps 代理域名备案 ipage 企业主机 google镜像 arvixe 回程路由 win8.1企业版升级win10 泉州电信 美国免费空间 太原网通测速平台 中国电信宽带测速网 上海服务器 shuang12 photobucket 中国域名 更多