📄 managedb.java
字号:
package jdbcbook.shopping.database;
import jdbcbook.shopping.form.*;
import jdbcbook.shopping.util.*;
import jdbcbook.pub.util.*;
import java.util.*;
import java.io.*;
import org.apache.ojb.broker.query.Criteria;
import javax.servlet.http.*;
public class ManageDB
{
// 按商品分类名称的顺序得到所有的商品分类信息
public static Collection getCategorys( )
{
return OperateDB.getDatas( Category.class, "name asc" );
}
// 根据用户输入的查询条件得到符合条件的商品信息
public static Collection getProducts( Product product )
{
Criteria criteria = new Criteria();
if( !StringUtil.isEmptyString( product.getName() ) )
criteria.addLike( "name", "%" + product.getName() + "%" );
if( product.getCategoryid() > 0 )
criteria.addEqualTo( "categoryid", product.getCategoryid() );
return OperateDB.getDatas( Product.class, criteria, "name asc" );
}
// 保存用户上传的商品图片
public static void savePicture( Product product )
{
if( product==null
|| product.getId()<=0
|| product.getPicture()==null ) return ;
try
{
InputStream in = product.getPicture().getInputStream();
if( in==null ) return;
int size = product.getPicture().getFileSize();
if( size<=0 ) return;
String sql = "SELECT picture FROM product WHERE id = " + product.getId()
+ " FOR UPDATE";
OperateDB.saveBlob( sql, in, size );
}
catch( Exception ex )
{
ex.printStackTrace( System.err );
}
}
// 输出商品的图片
public static void outPicture( HttpServletResponse response, int nID )
{
try
{
String sql = "SELECT picture FROM product WHERE id = " + nID;
if( !OperateDB.outBlob( sql, response.getOutputStream() ) )
{
response.sendRedirect( "/jdbcbook/shopping/pub/pic/default.gif" );
}
}
catch( IOException ex )
{
ex.printStackTrace( System.err );
}
}
// 用户登录处理
public static boolean login( Userinfo userinfo, HttpServletRequest request )
{
if( StringUtil.isEmptyString( userinfo.getLogname() )
|| StringUtil.isEmptyString( userinfo.getPassword() ) ) return false;
// 根据用户名和密码查询用户信息
Criteria criteria = new Criteria();
criteria.addEqualTo( "logname", userinfo.getLogname() );
criteria.addEqualTo( "password", userinfo.getPassword() );
Userinfo ui = (Userinfo)OperateDB.getData( Userinfo.class, criteria );
// 判断是否找到对应的用户
if( ui!=null )
{
// 登录成功
// 将用户信息保存到Session中
SessionUtil.logon( request, ui );
return true;
}
// 登录失败
return false;
}
// 根据会员名得到用户的信息
public static Userinfo getUserinfo( String logname )
{
Criteria criteria = new Criteria();
criteria.addEqualTo( "logname", logname );
return (Userinfo)OperateDB.getData( Userinfo.class, criteria );
}
// 管理员得到订单信息
public static Collection getOrders( int status )
{
return getOrders( status, 0 );
}
// 查询订单信息(user为0时为全部用户的订单信息)
public static Collection getOrders( int status, int user )
{
Criteria criteria = new Criteria();
if( status>=0 )
criteria.addEqualTo( "status", status );
if( user > 0 )
criteria.addEqualTo( "userinfoid", user );
return OperateDB.getDatas( Orders.class, criteria, "orderdate DESC" );
}
// 取得某个订单包含的订单项的信息
public static Collection getOrderItems( int orderid )
{
Criteria criteria = new Criteria();
criteria.addEqualTo( "ordersid", orderid );
return OperateDB.getDatas( OrderItem.class, criteria );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -