Struts2完整对商品表的增删查改.docx
- 文档编号:1974656
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:31
- 大小:23.33KB
Struts2完整对商品表的增删查改.docx
《Struts2完整对商品表的增删查改.docx》由会员分享,可在线阅读,更多相关《Struts2完整对商品表的增删查改.docx(31页珍藏版)》请在冰点文库上搜索。
Struts2完整对商品表的增删查改
Struts2+easyui完整对商品表的增删查改
一、代码结构分层:
1、model
2、dao
3、service
4、action
二、配置文件struts-goods.xml
三、JSP页面代码
四、JS代码
五、使用了easyui
代码如下:
packagecom.entor.model;
publicclassGoods{
privateintid;//id
privateStringgoods_no;//商品编号
privateStringgoods_name;//名字
privatedoublegoods_price;//价格
privateintgoods_store;//库存
publicGoods(){};
publicGoods(intid,Stringgoods_no,Stringgoods_name,doublegoods_price,intgoods_store){
this.id=id;
this.goods_no=goods_no;
this.goods_name=goods_name;
this.goods_price=goods_price;
this.goods_store=goods_store;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetGoods_no(){
returngoods_no;
}
publicvoidsetGoods_no(StringgoodsNo){
goods_no=goodsNo;
}
publicStringgetGoods_name(){
returngoods_name;
}
publicvoidsetGoods_name(StringgoodsName){
goods_name=goodsName;
}
publicdoublegetGoods_price(){
returngoods_price;
}
publicvoidsetGoods_price(doublegoodsPrice){
goods_price=goodsPrice;
}
publicintgetGoods_store(){
returngoods_store;
}
publicvoidsetGoods_store(intgoodsStore){
goods_store=goodsStore;
}
}
packagecom.entor.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importcom.entor.model.Goods;
importcom.entor.utils.JdbcUtil;
importcom.entor.utils.PageUtil;
publicclassGoodsDao{
privateConnectioncon;
publicGoodsDao(Connectioncon){
this.con=con;
}
/**
*(增加)商品
*
*@throwsSQLException
*/
publicbooleanaddGoodsDao(Goodsgood)throwsSQLException{
Stringsql="insertintogoods(id,goods_no,goods_name,goods_price,goods_store)"
+"values(goods_seq.nextval,?
?
?
?
)";
System.out.println(sql);
PreparedStatementps=this.con.prepareStatement(sql);
ps.setString(1,good.getGoods_no());
ps.setString(2,good.getGoods_name());
ps.setDouble(3,good.getGoods_price());
ps.setInt(4,good.getGoods_store());
inta=ps.executeUpdate();//执行sql语句
ps.close();
returna>0?
true:
false;
}
/**
*删除商品
*@paramid
*@return
*@throwsSQLException
*/
publicbooleandeleteGoodsInfo(intid)throwsSQLException{
Stringsql="deletefromgoodswhereid=?
";
//拿到一个Statment对象
PreparedStatementps=this.con.prepareStatement(sql);
//设置第问号的值
ps.setInt(1,id);
//发送sql语句a是更新影响的行数
inta=ps.executeUpdate();
ps.close();
returna>0?
true:
false;
}
/**
*查询所有的商品信息(无分页效果)
*@return
*@throwsSQLException
*/
publicList
Stringsql="select*fromgoods";
//拿到一个Statment对象
PreparedStatementps=this.con.prepareStatement(sql);
//发送sql语句
ResultSetrs=ps.executeQuery();
List
//查询数据库,获取商品信息
while(rs.next()){
intid=rs.getInt("id");
Stringgoods_no=rs.getString("goods_no");
Stringgoods_name=rs.getString("goods_name");
doublegoods_price=rs.getDouble("goods_price");
intgoods_store=rs.getInt("goods_store");
Goodsgoods=newGoods(id,goods_no,goods_name,goods_price,goods_store);
list.add(goods);
}
ps.close();
rs.close();
returnlist;
}
/**
*修改更新商品前查询该商品信息
*
*@return
*@throwsSQLException
*/
publicGoodsGetOneGoods(intid)throwsSQLException{
Stringsql="select*fromgoodswhereid=?
";
PreparedStatementps=this.con.prepareStatement(sql);
ps.setInt(1,id);
//发送sql语句
ResultSetrs=ps.executeQuery();
Goodsgoods=null;
while(rs.next()){
intid1=rs.getInt("id");//获取id
Stringgoods_no=rs.getString("goods_no");//获取编号
Stringgoods_name=rs.getString("goods_name");//获名字
doublegoods_price=rs.getDouble("goods_price");//获取价格
intgoods_store=rs.getInt("goods_store");//获取库存
goods=newGoods(id1,goods_no,goods_name,goods_price,goods_store);
}
ps.close();
rs.close();
returngoods;
}
/**
*带有分页查询
*/
publicList
Stringsql="selectrownumrn,g.*fromgoodsgwhere1=1";
if(goods1!
=null){
if(goods1.getGoods_no()!
=null&&!
"".equals(goods1.getGoods_no())){
sql=sql+"andgoods_nolike?
";
}
if(goods1.getGoods_name()!
=null&&!
"".equals(goods1.getGoods_name())){
sql=sql+"andgoods_namelike?
";
}
//if(goods1.getGoods_price()!
=0&&!
"".equals(goods1.getGoods_price())){
//sql=sql+"andgoods_price<=?
";
//}
}
sql=sql+"andrownum<=?
";
sql="select*from("+sql+")awherea.rn>=?
";
intcn=1;
PreparedStatementps=con.prepareStatement(sql);
if(goods1!
=null){
if(goods1.getGoods_no()!
=null&&!
"".equals(goods1.getGoods_no())){
ps.setString(cn++,"%"+goods1.getGoods_no()+"%");
}
if(goods1.getGoods_name()!
=null&&!
"".equals(goods1.getGoods_name())){
ps.setString(cn++,"%"+goods1.getGoods_name()+"%");
}
//if(!
(goods1.getGoods_price()+"").equals("")&&goods1.getGoods_price()!
=0){
//ps.setDouble(cn++,goods1.getGoods_price());
//}
}
ps.setLong(cn++,pu.getEndCursor());
ps.setLong(cn++,pu.getStartCursor());
System.out.println(sql);
//发送sql语句a是更新影响的行数
ResultSetrs=ps.executeQuery();
List
while(rs.next()){
intid=rs.getInt("id");//获取id
Stringgoods_no=rs.getString("goods_no");//获取编号
Stringgoods_name=rs.getString("goods_name");//获名字
doublegoods_price=rs.getDouble("goods_price");//获取价格
intgoods_store=rs.getInt("goods_store");//获取库存
Goodsgoods=newGoods(id,goods_no,goods_name,goods_price,goods_store);
list.add(goods);
}
ps.close();
rs.close();
returnlist;
}
/**
*查询商品的数量,即总的记录数
*
*@return
*@throwsSQLException
*/
publiclonggetTotalRecords()throwsSQLException{
Stringsql="selectcount(*)astotalfromgoods";
//拿到一个Statment对象
PreparedStatementps=this.con.prepareStatement(sql);
//发送sql语句a是更新影响的行数
ResultSetrs=ps.executeQuery();
rs.next();
longtotalRecords=rs.getLong("total");
ps.close();
rs.close();
returntotalRecords;
}
/**
*修改商品信息
*
*@throwsSQLException
*/
publicbooleanupdateGoodsDao(Goodsgoods)throwsSQLException{
Stringsql="updategoodssetgoods_no=?
goods_name=?
goods_price=?
"
+"goods_store=?
whereid=?
";
System.out.println(sql);
PreparedStatementps=this.con.prepareStatement(sql);
intpos=1;
//设置问号的值
ps.setString(pos++,goods.getGoods_no());
ps.setString(pos++,goods.getGoods_name());
ps.setDouble(pos++,goods.getGoods_price());
ps.setInt(pos++,goods.getGoods_store());
ps.setInt(pos++,goods.getId());
inta=ps.executeUpdate();//执行sql语句
returna>0?
true:
false;
}
}
packagecom.entor.service;
importjava.io.ByteArrayInputStream;
importjava.io.InputStream;
importjava.io.UnsupportedEncodingException;
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
importnet.sf.json.JSONArray;
importnet.sf.json.JSONObject;
importcom.entor.dao.GoodsDao;
importcom.entor.model.Goods;
importcom.entor.utils.JdbcUtil;
importcom.entor.utils.PageUtil;
publicclassGoodsService{
privatestaticConnectioncon;
privateGoodsDaogoodsDao;
publicGoodsService(){
try{
con=JdbcUtil.getConnection();
}catch(SQLExceptione){
e.printStackTrace();
}
goodsDao=newGoodsDao(con);
}
/**
*带有分页的查询
*@paramgoo
*@parampu
*@paramlowPrice
*@parambigPrice
*@return
*@throwsUnsupportedEncodingException
*/
publicInputStreamgetGoodsListService(Goodsgoods,PageUtilpu)throwsUnsupportedEncodingException{
StringjsonStr=null;
try{
con.setAutoCommit(false);
List
//把集合转成json字符串异步要以这样的数据格式传回去
//转成json数组集合就用JSONArray
longtotalRecords=goodsDao.getTotalRecords();//实际上应该调用dao层获取
pu.setTotalRecords(totalRecords);
Map
map.put("total",pu.getTotalRecords());
map.put("rows",list);
JSONObjectjsonObject=JSONObject.fromObject(map);//转成json数组
jsonStr=jsonObject.toString();
System.out.println(jsonStr);
mit();
}catch(SQLExceptione){
try{
con.rollback();
}catch(SQLExceptione1){
e1.printStackTrace();
}
e.printStackTrace();
}
returnnewByteArrayInputStream(jsonStr.getBytes("utf-8"));//newinputstream子类
}
/**
*查询商品(无分页效果)
*@throwsUnsupportedEncodingException
*@throwsSQLException
*/
publicInputStreamgetGoodsListService(PageUtilpu)throwsUnsupportedEncodingException{
StringjsonStr=null;
try{
con.setAutoCommit(false);
List
//把集合转成json字符串异步要以这样的数据格式传回去
//转成json数组集合就用JSONArray
longtotalRecords=goodsDao.getTotalRecords();//获取商品数量
pu.setTotalRecords(totalRecords);
Map
map.put("total",pu.getTotalRecords());
map.put("rows",list);
JSONObjectjsonObject=JSONObject.fromObject(map);//转成json数组
jsonStr=jsonObject.toString();
mit();
}catch(SQLExceptione){
try{
con.rollback();
}catch(SQLExceptione1){
e1.printStackTrace();
}
e.printStackTrace();
}
System.out.println(jsonStr);
returnnewByteArrayInputStream(jsonStr.getBytes("utf-8"));//newinputstream子类
}
/**
*更新前先查询所需更新的商品信息
*/
publicInputStreamselectGoodsService(intid)th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts2 完整 商品 增删