?? makermanager.java
字號:
package zhaobiao.db;
import java.util.*;
import java.sql.*;
import zhaobiao.db.*;
import zhaobiao.data.*;
/**
* <p>Title: 廠商信息管理類</p>
* <p>Description: 有關(guān)廠商信息管理的瀏覽操作</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class MakerManager {
public MakerManager() {
}
/** 獲的所有的廠商的集合
* @param long page
* @param long pagemax
* @return 廠商Vector
*/
public Vector getMakerList(long page ,long pagemax)
{
page=page-1;
Vector list=new Vector();
db=DBConnectionManager.getInstance();//加上下面這兩句
con=db.getConnection("idb");
String sql="select *from maker";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
int count=1;
while(rs.next())
{
if (count>(page*pagemax)&&count<=(page*pagemax+pagemax)){
Maker mk=new Maker();
mk.setMaker_id(rs.getLong("maker_id"));
mk.setMaker_name(rs.getString("maker_name"));
mk.setMaker_address(rs.getString("maker_address"));
mk.setMaker_cr_address(rs.getString("maker_cr_address"));
mk.setMaker_cr_time(rs.getString("maker_cr_time"));
mk.setMaker_cr_address(rs.getString("maker_cr_address"));
mk.setMaker_cr_cost(rs.getString("maker_cr_cost"));
mk.setMaker_fr_name(rs.getString("maker_fr_name"));
mk.setMaker_fr_position(rs.getString("maker_fr_position"));
mk.setMaker_attribute(rs.getString("maker_attribute"));
mk.setMaker_relation(rs.getString("maker_relation"));
mk.setMaker_db_content(rs.getString("maker_db_content"));
list.add(mk);
}
count++;
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace() ;
}
freeCon();
return list;
}
/** 獲的所有的廠商的集合的數(shù)量
* @param 無
* @return long 廠商的集合的數(shù)量
*/
public long getMakerListCount()
{
long count=0;
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from maker";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
count++;
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace() ;
}
freeCon();
return count;
}
/** 根據(jù)廠商的id獲的該廠商所有參加過的項目列表/使用set返回,去掉其中的重復(fù)值
*@param long page
*@param long pagemax
* @param long maker_id
* @return 廠商所有參加過的項目列表set
*/
public Set getPPMProjectList(long page,long pagemax,long maker_id)
{
page=page-1;
Set set1=new TreeSet();
Set set2=new TreeSet();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,maker_id);
rs=ps.executeQuery();
int count=1;
while(rs.next())
{
Project pj=new Project();
pj=basic.getProject(rs.getLong("project_id"));
if(set1.add(pj))
{
if (count>(page*pagemax)&&count<=(page*pagemax+pagemax))
{
set2.add(pj);;
}
count++; //計數(shù)器加1
}
}
}
catch (SQLException ex) {
basic.freeCon();
freeCon();
ex.printStackTrace();
}
basic.freeCon();
freeCon();
return set2;
}
/** 根據(jù)廠商的id獲的該廠商所有參加過的項目的數(shù)量,去掉其中的重復(fù)值
*@param 廠商的id
*@return long 廠商所有參加過的項目的數(shù)量
*/
public long getPPMListCount(long maker_id)
{
long count=0;
Set set1=new TreeSet();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,maker_id);
rs=ps.executeQuery();
while(rs.next())
{
Project pj=new Project();
pj=basic.getProject(rs.getLong("project_id"));
if(set1.add(pj))
count++; //計數(shù)器加1
}
}
catch (SQLException ex) {
basic.freeCon();
ex.printStackTrace();
}
set1.clear();
basic.freeCon();
return count;
}
/** 根據(jù)廠商的id和項目id獲得ppm表中對應(yīng)的ppm集合
* @param 廠商的id
* @param 項目id
* @return ppm集合
*/
public Vector getPPMProductList(long project_id,long maker_id)
{
Vector list=new Vector();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where project_id=? and maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,project_id);
ps.setLong(2,maker_id);
rs=ps.executeQuery();
while(rs.next())
{
PPM ppm=new PPM();
long ppmid;
ppmid=rs.getLong("id");
ppm=basic.getPPM(ppmid);
list.add(ppm);
}
}
catch (SQLException ex) {
basic.freeCon();
freeCon();
ex.printStackTrace();
}
basic.freeCon() ;
freeCon();
return list;
}
/** 根據(jù)項目id和產(chǎn)品id和廠商id得到相關(guān)的PPM對象實(shí)例
*@param 項目id
*@param 產(chǎn)品id
*@param 廠商id
*@return PPM對象實(shí)例
*/
public PPM getPPMList(long project_id,long product_id,long maker_id)
{
PPM ppm=new PPM();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
Basic basic=new Basic();
String sql="select *from ppm where project_id=? and product_id=? and maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,project_id);
ps.setLong(2,product_id);
ps.setLong(3,maker_id);
rs=ps.executeQuery();
if(rs.next())
{
long id;
id=rs.getLong("id");
ppm=basic.getPPM(id);
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace();
}
basic.freeCon();
freeCon();
return ppm;
}
/**
* 釋放數(shù)據(jù)庫資源<p>
*PreparedStatement和ResultSep將關(guān)閉,Connection返回給連接池
* @param 無
* @repurn 無
* @exception SQLException
*
*/
public void freeCon(){
try {
if (rs!=null)
rs.close() ;
if (ps!=null)
ps.close() ;
}
catch (SQLException ex) {
}
if (db!=null)
db.freeConnection("idb",con) ;
}
public static void main(String[] args) {
MakerManager makerManager1 = new MakerManager();
}
private DBConnectionManager db;
private Connection con=null;
private ResultSet rs=null;
private PreparedStatement ps=null;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -