⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managedb.java

📁 该代码是Java数据库高级编程宝典中的重要的代码
💻 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 + -