博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH-Hibernate+Struts2+Spring的股票项目整合
阅读量:5816 次
发布时间:2019-06-18

本文共 5798 字,大约阅读时间需要 19 分钟。

创建项目之前:我们需要导入我们需要的Hibernate和Struts2和Spring的相关架包。(博客自创,如有问题请留言博主,拒绝盗版,支持正版http://www.cnblogs.com/WuXuanKun/)

项目架构图:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

我们需要搭建各个层:层次如上右图

1.搭建beans层:

    ①创建一个实体类Stock。

/** * 股票类 */public class Stock {    private int sid;     //股票编号    private String sname;//股票名称       private int scount;  //股数    public int getSid() {        return sid;    }    public void setSid(int sid) {        this.sid = sid;    }    public String getSname() {        return sname;    }    public void setSname(String sname) {        this.sname = sname;    }    public int getScount() {        return scount;    }    public void setScount(int scount) {        this.scount = scount;    }    }
Stock.java

    ②我们创建小配置。Stock.hbm.xml

Stock.hbm.xml

2.搭建DAO层:

     ①创建Stock接口

/** * Stock接口 */public interface IStockDAO {    public int addStock(Stock stock);}
IStockDAO

     ②实现接口

import java.io.Serializable;import org.hibernate.SessionFactory;import org.hibernate.classic.Session;import org.springframework.jdbc.core.support.JdbcDaoSupport;import cn.happy.beans.Stock;import cn.happy.dao.IStockDAO;public class StockDAOImpl  implements IStockDAO{        //在这里定义一个SessionFactory变量    private SessionFactory  sessionFactory;        @Override    public int addStock(Stock stock) {        Session session = sessionFactory.getCurrentSession();        Serializable  count=session.save(stock);        Integer cc=(Integer)count;        return cc.intValue();    }    public SessionFactory getSessionFactory() {        return sessionFactory;    }    public void setSessionFactory(SessionFactory sessionFactory) {        this.sessionFactory = sessionFactory;    }    }
StockDAOImpl

3.搭建Service服务层:

    ①创建接口StockService

public interface IStockService {   public int saveStock(Stock stock);}
IStockService

    ②实现上面的接口

public class StockServiceImpl implements IStockService {   //服务层  需要一个dao的对象    private IStockDAO dao;    @Override    public int saveStock(Stock stock) {        return dao.addStock(stock);    }    public IStockDAO getDao() {        return dao;    }    public void setDao(IStockDAO dao) {        this.dao = dao;    }   }
StockServiceImpl

4.搭建action层

public class StockAction extends ActionSupport implements ModelDriven
{ private Stock stock; private IStockService service; //重点代码:在无参构造中new一个Stock对象。 private StockAction(){ stock=new Stock(); } //execute()方法是ActionSupport的一个方法。save()一条数据;判断是否插入一条记录。要是count大于0,证明页面有一条数据插入。成功跳入index.jsp页面。否则跳入add.jsp页面。 public String execute(){ int count = service.saveStock(stock); if (count>0) { return SUCCESS; }else { return INPUT; } } //getModel是ModelDriven
的一个方法 @Override public Stock getModel() { return stock; } public Stock getStock() { return stock; } public void setStock(Stock stock) { this.stock = stock; } public IStockService getService() { return service; } public void setService(IStockService service) { this.service = service; }}
StockAction继承ActionSupport并且实现ModelDriven

 5.搭建两个jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page          
股票名称:
股票股数:
add.jsp页面(插入数据页面)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page           成功页面  
index.jsp(成功页面)

6.创建Struts.xml

/index.jsp
/add.jsp
struts.xml

7.创建连接具体数据库:本案例用Mysql数据库为例:搭建jdbc.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc\:mysql\:///testjdbc.username=wujdbc.password=xuan
jdbc.properties

8.创建大配置applicationContext.xml

org.hibernate.dialect.MySQL5InnoDBDialect
true
true
org.springframework.orm.hibernate3.SpringSessionContext
applicationContext.xml

9.该项目已经成功搭建完毕。可以做一个单测。(该步骤可以省略)

//购买股票测试    @Test    public void addStockTest() {        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");        IStockService service=(IStockService)ctx.getBean("stockService");        Stock stock=new Stock();        stock.setSname("Y2162基金");        stock.setScount(23);        service.saveStock(stock);        System.out.println("OK!");    }
MyTest测试类

10.启动项目:

成功插入数据:

 

转载于:https://www.cnblogs.com/WuXuanKun/p/6039431.html

你可能感兴趣的文章
百度账号注销
查看>>
Lua语言特色
查看>>
C# 单机Window 程序 sqlite 数据库实现
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
“Info.plist” couldn’t be removed
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
Linux内核中的printf实现【转】
查看>>
第四章 mybatis批量insert
查看>>