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

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;

}

一键去除宝塔面板各种计算题与延时等待

现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...

wordpress外贸企业主题 wordpress经典外贸企业建站主题

WordPress经典外贸企业建站主题,经典配色扁平化简约设计+跨屏自适应移动端设备,特色外贸企业建站功能模块+在线Inquiry询单功能,更有利于Google等英文搜索优化和站点收录。采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用...

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

360后台为你推荐
美团月付怎么关闭美团外卖如何关闭快捷支付方式免费送q币活动有什么活动可以免费获得QB?免费送q币活动有没有免费送Q币的活动?p图软件哪个好用手机p图软件那个好迈腾和帕萨特哪个好一汽迈腾和上海大众帕萨特哪个好浮动利率和固定利率哪个好浮动利率房贷与固定利率房贷比较 购房者如何选择绝地求生加速器哪个好绝地求生哪个加速器好用一点,求推荐一个炒股软件哪个好什么炒股软件比较好用?网校哪个好市面上的网校,谁最好?dnf魔枪士转职哪个好dnf平民魔枪士转什么好
vps教程 动态ip的vps 草根过期域名 debian源 警告本网站 云全民 qingyun 免费测手机号 新睿云 双12 创建邮箱 lamp怎么读 石家庄服务器 美国主机侦探 美国主机 海外加速 美国十大啦 超低价 挂马检测工具 大容量存储控制器驱动 更多