beer4alljdbcservice.java
来自「采用Struts框架做的网上啤酒买卖系统」· Java 代码 · 共 150 行
JAVA
150 行
package com.cavaness.beer4all.service;
import java.util.*;
import com.cavaness.beer4all.common.exceptions.DatabaseException;
import com.cavaness.beer4all.database.ConnectionPool;
import java.sql.*;
import com.cavaness.beer4all.catalog.view.CatalogView;
import com.cavaness.beer4all.catalog.view.ItemView;
import com.cavaness.beer4all.common.view.UserView;
import com.cavaness.beer4all.common.exceptions.InvalidLoginException;
public class Beer4AllJdbcService implements Beer4AllService{
public Beer4AllJdbcService() {
}
public List getFeaturedCatalogs() throws DatabaseException {
ConnectionPool pool=null;
Connection con=null;
ArrayList catalogs=new ArrayList();
try
{
pool=ConnectionPool.getInstance();
con=pool.getConnection();
PreparedStatement pstmt=con.prepareStatement("select id,name from catalog");
ResultSet rs=pstmt.executeQuery();
while(rs.next())
{
CatalogView view = new CatalogView();
view.setOid(new Integer(rs.getInt("id")));
view.setName(rs.getString("name"));
catalogs.add(view);
}
con.commit();
return catalogs;
}
catch(Exception se)
{
se.printStackTrace();
try{con.rollback();}catch(SQLException e){}
throw new DatabaseException("访问数据库出错");
}
finally
{
pool.releaseConnection(con);
}
}
public List getFeaturedItems() throws DatabaseException {
ConnectionPool pool=null;
Connection con=null;
ArrayList items=new ArrayList();
try
{
pool=ConnectionPool.getInstance();
con=pool.getConnection();
PreparedStatement pstmt=con.prepareStatement("select id,name,description,url,price,cid from item");
ResultSet rs=pstmt.executeQuery();
while(rs.next())
{
ItemView view = new ItemView();
view.setOid(new Integer(rs.getInt("id")));
view.setName(rs.getString("name"));
view.setDescription(rs.getString("description"));
view.setSmallUrl(rs.getString("url"));
view.setPrice(new Double(rs.getDouble("price")));
view.setCid(new Integer(rs.getInt("cid")));
items.add(view);
}
con.commit();
return items;
}
catch(Exception se)
{
se.printStackTrace();
try{con.rollback();}catch(SQLException e){}
throw new DatabaseException("访问数据库出错");
}
finally
{
pool.releaseConnection(con);
}
}
public UserView authenticate(String username, String password) throws DatabaseException,InvalidLoginException{
ConnectionPool pool=null;
Connection con=null;
UserView userView=null;
try
{
pool=ConnectionPool.getInstance();
con=pool.getConnection();
PreparedStatement pstmt=con.prepareStatement("select id,firstname,lastname from user where username=? and password=?");
pstmt.setString(1,username);
pstmt.setString(2,password);
ResultSet rs=pstmt.executeQuery();
if(rs.next())
{
userView=new UserView();
userView.setOid(new Integer(rs.getInt("id")));
userView.setFirstName(rs.getString("firstname"));
userView.setLastName(rs.getString("lastname"));
con.commit();
return userView;
}
else
{
throw new InvalidLoginException("非法的用户名与密码");
}
}
catch(SQLException se)
{
se.printStackTrace();
try{con.rollback();}catch(SQLException e){}
throw new DatabaseException("访问数据库出错");
}
finally
{
pool.releaseConnection(con);
}
}
public void logout(String email) {
}
public ItemView getItemById(String itemId) throws DatabaseException{
ItemView item = new ItemView();
Integer id=Integer.valueOf(itemId);
for ( int i=0 ; i<getFeaturedItems().size();i++)
{
if(((ItemView)(getFeaturedItems().get(i))).getOid().equals(id) ){
item=(ItemView)(getFeaturedItems().get(i));
}
}
return item;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?