package com.stock.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.stock.bean.StockInfoBean;
import com.stock.bean.TradeRecordBean;
import com.stock.util.DBUtil;
public class StockQueryModel {
private DBUtil db = new DBUtil();
/**
* 查询所有股票信息
*
* @return
* @throws Exception
*/
public List<StockInfoBean> getAllStock() throws Exception {
String sql = "select e.stock_id,(select stock_name from stock_info t where t.stock_id=e.stock_id) stock_name,e.last_price from stock_price e";
Connection con = db.getConnection();
PreparedStatement pst = con.prepareStatement(sql);
List<StockInfoBean> stockList = new ArrayList<StockInfoBean>();
ResultSet rs = pst.executeQuery();
while (rs.next()) {
String stockid = rs.getString("stock_id");
String stockName = rs.getString("stock_name");
String stockPrice = rs.getString("last_price");
stockList.add(new StockInfoBean(stockid, stockName, null,
stockPrice, null));
}
db.commit();
db.close();
return stockList;
}
/**
* 查询记录总数
*
* @return
* @throws Exception
*/
public int count() throws Exception {
int ret = 0;
Connection con = db.getConnection();
Statement stmt = con.createStatement();
String sql = "select count(*) from stock_info order by stock_id";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
ret = rs.getInt(1);
}
db.commit();
db.close();
return ret;
}
/**
* 分页查询
*
* @param page
* 显示的页码
* @param pageContent
* 每页的容量
* @return
* @throws Exception
*/
public List<StockInfoBean> pageListStockPrice(int page, int pageContent)
throws Exception {
int startNum = (page - 1) * pageContent + 1; // 计算起始记录点
int endNum = page * pageContent; // 计算终止的记录点
String sql = "select * from (select t.*,rownum rn from(select stock_id,(select stock_name from stock_info g where g.stock_id=t.stock_id) as stock_name,last_price from stock_price t order by stock_id) t where rownum<=? ) where rn>=?";
Connection con = db.getConnection();
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, String.valueOf(endNum));
pst.setString(2, String.valueOf(startNum));
List<StockInfoBean> stockList = new ArrayList<StockInfoBean>();
ResultSet rs = pst.executeQuery();
while (rs.next()) {
String stockid = rs.getString("stock_id");
String stockName = rs.getString("stock_name");
String stockPrice = rs.getString("last_price");
stockList.add(new StockInfoBean(stockid, stockName, null,
stockPrice, null));
}
db.commit();
db.close();
return stockList;
}
/**
* 通过搜索内容查找股票信息
*
* @param searchConnent
* @return
* @throws Exception
*/
public List<StockInfoBean> searchQuery(String searchConnent)
throws Exception {
String sql = "select e.stock_id,(select stock_name from stock_info t where t.stock_id=e.stock_id) stock_name,e.last_price from stock_price e where e.stock_id like ? or(select stock_name from stock_info t where t.stock_id=e.stock_id) like ? or (select stock_py from stock_info t where t.stock_id=e.stock_id) like ? order by e.stock_id";
Connection con = db.getConnection();
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, "%" + searchConnent + "%");
pst.setString(2, "%" + searchConnent + "%");
pst.setString(3, "%" + searchConnent + "%");
List<StockInfoBean> stockList = new ArrayList<StockInfoBean>();
ResultSet rs = pst.executeQuery();
while (rs.next()) {
String stockid = rs.getString("stock_id");
String stockName = rs.getString("stock_name");
String stockPrice = rs.getString("last_price");
stockList.add(new StockInfoBean(stockid, stockName, null,
stockPrice, null));
}
db.commit();
db.close();
return stockList;
}
/**
* 查询用户现有股票
*
* @param userid
* @return
* @throws Exception
*/
public List<StockInfoBean> getOwnStock(String userid) throws Exception {
String sql = "select stock_id,(select stock_name from stock_info t where t.stock_id=e.stock_id) stock_name,stocknum,(select last_price from stock_price p where p.stock_id=e.stock_id) stock_price from now e where user_id=?";
Connection con = db.getConnection();
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, userid);
List<StockInfoBean> stockList = new ArrayList<StockInfoBean>();
ResultSet rs = pst.executeQuery();
while (rs.next()) {
String stockid = rs.getString("stock_id");
String stockName = rs.getString("stock_name");
String stockNum = rs.getString("stocknum");
String stockPrice = rs.getString("stock_price");
stockList.add(new StockInfoBean(stockid, stockName, null,
stockPrice, stockNum));
}
db.commit();
db.close();
return stockList;
}
/**
* 查询用户股票交易记录
* @param userid
* @return
* @throws Exception
*/
public List<TradeRecordBean> getStockRecord(String userid) throws Exception {
String sql = "select stock_id,(select e.stock_name from stock_info e where e.stock_id=t.stock_id) stock_name,stock_price,buyuser_id,selluser_id,trade_number,trade_time from stock_record t where t.buyuser_id=? or t.selluser_id=? order by stock_id";
Connection con = db.getConnection();
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, userid);
pst.setString(2, userid);
List<TradeRecordBean> list = new ArrayList<TradeRecordBean>();
ResultSet rs = pst.executeQuery();
while (rs.next()) {
String stockid = rs.getString("stock_id");
String stockName = rs.getString("stock_name");
String stockPrice = rs.getString("stock_price");
String buyuserid = rs.getString("buyuser_id");
String saleuserid = rs.getString("selluser_id");
String tradeNumber = rs.getString("trade_number");
String tradeTime = rs.getString("trade_time");
list.add(new TradeRecordBean(stockid, stockName, stockPrice, tradeNumber, buyuserid, saleuserid, tradeTime));
}
db.commit();
db.close();
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
股票交易系统是一个股票查询和交易的Web软件,软件主要功能有用户注册登录、实时股价查询.zip (43个子文件)
Stock-Trading-System-master
src
com
stock
servlet
PricePageQueryServlet.java 2KB
ManageStockServlet.java 1KB
DeleteStockServlet.java 1KB
TradeRecordServlet.java 1KB
ChargeAccountServlet.java 2KB
LogoutServlet.java 974B
RegisterServlet.java 2KB
AddStockServlet.java 2KB
BuyStockServlet.java 2KB
MainServlet.java 1KB
SaleStockServlet.java 2KB
SearchQueryServlet.java 1KB
LoginServlet.java 2KB
filter
CharacterFilter.java 930B
CheckLoginFilter.java 1KB
model
StockQueryModel.java 6KB
StockTradeModel.java 2KB
UserAccountModel.java 1KB
StockModifyModel.java 2KB
UserInfoModel.java 3KB
util
DBUtil.java 1KB
bean
UserInfoBean.java 3KB
TradeRecordBean.java 3KB
StockInfoBean.java 2KB
web
tradeRecord.jsp 3KB
WEB-INF
web.xml 4KB
assets
js
login.js 516B
register.js 2KB
img
bg.jpg 61KB
button.gif 2KB
css
styles.css 8KB
buyStock.jsp 2KB
addStock.jsp 2KB
priceQuery.jsp 3KB
saleStock.jsp 2KB
image.jsp 2KB
register.jsp 3KB
main.jsp 4KB
chargeAccount.jsp 2KB
searchQuery.jsp 2KB
META-INF
MANIFEST.MF 36B
manageStock.jsp 2KB
login.jsp 2KB
共 43 条
- 1
资源评论
博士僧小星
- 粉丝: 1922
- 资源: 5884
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功