基于javaweb+mysql的jsp+servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

本文介绍基于JavaWeb和MySQL的JSP+Servlet的NBA球队及其周边商城系统。该系统分前后台,有管理员和用户两种角色,具备会员、资讯、商品等管理及用户购物、留言等功能。还说明了运行环境、开发工具、技术栈及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于javaweb+mysql的jsp+servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的JSP+Servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

项目介绍

本项目分为前后台,前台为普通用户登录,后台为管理员登录;

管理员角色包含以下功能:

管理员登录,会员管理,资讯管理,友情链接管理,滚动图片管理,管理关于我们,商品类别管理,球队管理,商品管理,商品库存管理,订单管理,留言管理等功能。

用户角色包含以下功能:

用户登录,查看首页,查看商品详情,查看购物车,提交订单,查看我的订单,确认支付,提交留言,修改个人信息等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7、8.0等版本均可;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

Servlet、JSP、JDBC、MySQL5.7、Tomcat8

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目;

  3. 将项目中util/SimpleDataSource.java配置文件中的数据库配置改为自己的配置;

  4. 运行项目,输入localhost:8080/jsp_zhctms_site 登录 注:tomcat中配置项目路径必须为jsp_zhctms_site

用户账号/密码: user/123456

管理员账号/密码:admin/admin


public class Info {
	
	public static String tform(HashMap map)
	{
		if(map.get("isgood")!=null){
			map.remove("note");
		}
    	String jscode = "";
    	try{
    	jscode+="<script type=\"text/javascript\">\n";
    	jscode+="function getPvalue()\n";
    	jscode+="{\n";
    	
    	 Set set = map.entrySet();
    	 Iterator it = set.iterator();
    	 while(it.hasNext())
    	 {
    	  String pm=((Object)it.next()).toString();
    	  String str1 = "";

public class Info {
	
	public static String tform(HashMap map)
	{
		if(map.get("isgood")!=null){
			map.remove("note");
		}
    	String jscode = "";
    	try{
    	jscode+="<script type=\"text/javascript\">\n";
    	jscode+="function getPvalue()\n";
    	jscode+="{\n";
    	
    	 Set set = map.entrySet();
    	 Iterator it = set.iterator();
    	 while(it.hasNext())
    	 {
    	  String pm=((Object)it.next()).toString();
				String fid = "";
				String sid = "";
				String goodpp = "";
				String price = "";
				String note = "";
				String filename = map.get("filename").toString();
				request.setCharacterEncoding("utf-8");
				RequestContext requestContext = new ServletRequestContext(
						request);
				if (FileUpload.isMultipartContent(requestContext)) {

					DiskFileItemFactory factory = new DiskFileItemFactory();
					factory.setRepository(new File(request
							.getRealPath("/upfile/") + "/"));
					ServletFileUpload upload = new ServletFileUpload(factory);
					upload.setSizeMax(100 * 1024 * 1024);
					List items = new ArrayList();
					items = upload.parseRequest(request);
					goodname = ((FileItem) items.get(0)).getString();
					goodname = Info.getUTFStr(goodname);
					fid = ((FileItem) items.get(1)).getString();
					fid = Info.getUTFStr(fid);
					sid = ((FileItem) items.get(2)).getString();
					sid = Info.getUTFStr(sid);
					goodpp = ((FileItem) items.get(3)).getString();
					goodpp = Info.getUTFStr(goodpp);
					price = ((FileItem) items.get(4)).getString();
					price = Info.getUTFStr(price);
					note = ((FileItem) items.get(6)).getString();
					note = Info.getUTFStr(note);
					FileItem fileItem = (FileItem) items.get(5);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							filename = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/"
											+ filename);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
						} else {
			CommDAO dao = new CommDAO();
			int znum = 0;
	    	int innum = 0;
	    	int outnum = 0;
	    	ArrayList<HashMap> inlist = (ArrayList<HashMap>)dao.select("select * from kcrecord where  type='in' and gid='"+gid+"' ");
	    	ArrayList<HashMap> outlist = (ArrayList<HashMap>)dao.select("select * from kcrecord where  type='out' and gid='"+gid+"' ");
	    	if(inlist.size()>0){
	    		for(HashMap inmap:inlist){
	    			innum += Integer.parseInt(inmap.get("happennum").toString());//总入库量
	    		}
	    	}
	    	if(outlist.size()>0){
	    		for(HashMap outmap:outlist){
	    			outnum += Integer.parseInt(outmap.get("happennum").toString());//总出库量
	    		}
	    	}
	    	znum = innum - outnum;//库存量
	    	return znum;
		}
}

		

public class PageManager {
	private PageManager() {

	}

	// 默认一页最大记录数
	public static final int DEFAULTPAGESIZE = 20;

    	  
    	  jscode+="if(document.getElementById(\"txt\"))\n";
    	  jscode+="{\n";
    	  jscode+="document.getElementById(\"txt\").src=\"/jsp_nbashop/upfile/"+map.get("filename")+"\";\n";
    	  jscode+="}\n";
    	 }
    	 jscode+="}\n";
    	 
    jscode+=" getPvalue();\n";
    jscode+="</script>\n";
    	}catch (Exception e) {
			e.printStackTrace();
		}
      return jscode;
	}
	
	
	
	public static String generalFileName(String srcFileName) {
		try{
		   int index=srcFileName.lastIndexOf(".");
		   return StrUtil.generalSrid()+srcFileName.substring(index).toLowerCase();
		}catch(Exception e){
			return StrUtil.generalSrid();
		}
	}

	public synchronized static String getID() {
		Random random = new Random();
		StringBuffer ret = new StringBuffer(20);
		String rand = String.valueOf(Math.abs(random.nextInt()));
		ret.append(getDateStr());
		ret.append(rand.substring(0,6));
		
		return ret.toString();
	} 
	
	public synchronized static String subStr(String source,int length) {
		if(source.length()>length)
		{
			source=source.substring(0,length)+"...";
		}
		
		return source;
	} 
	
	

	public static String getDateStr(){
		String dateString="";
		try{//yyyyMMddHHmmss
		java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				request.setAttribute("error", "");
				request.getRequestDispatcher("/admin/newsedit.jsp?id=" + id)
						.forward(request, response);
			}
		}
		// 新增公告
		if (ac.equals("noticesadd")) {
			String title = request.getParameter("title");
			String note = request.getParameter("note");
			String savetime = Info.getDateStr();
			String type = "公告";
			dao.commOper("insert into news (title,note,savetime,type) "
					+ " values ('" + title + "','" + note + "','" + savetime
					+ "','" + type + "')");
			request.setAttribute("suc", "");
			go("admin/noticesadd.jsp", request, response);
		}
		// 编辑公告
		if (ac.equals("noticesedit")) {
			String id = request.getParameter("id");
			String title = request.getParameter("title");
			String note = request.getParameter("note");
			dao.commOper("update news set title='" + title + "',note='" + note
					+ "' where id=" + id);
			request.setAttribute("suc", "");
			go("admin/noticesedit.jsp?id=" + id, request, response);
		}
		// 新增链接
		if (ac.equals("yqlinkadd")) {
			String linkname = request.getParameter("linkname");
			String linkurl = request.getParameter("linkurl");
			dao.commOper("insert into yqlink (linkname,linkurl) "
					+ " values ('" + linkname + "','" + linkurl + "')");
			request.setAttribute("suc", "操作成功!");
			go("admin/yqlink.jsp", request, response);
		}
		// 编辑公告
		if (ac.equals("yqlinkedit")) {
			String id = request.getParameter("id");
			String linkname = request.getParameter("linkname");
			String linkurl = request.getParameter("linkurl");
			dao.commOper("update yqlink set linkname='" + linkname
					+ "',linkurl='" + linkurl + "' where id=" + id);

	// 总页数
	protected long pageNumber;

	// 总记录数
	protected long count;

	// 数据
	protected Collection collection;

	// 数据查询对象
	protected CommDAO dao = new CommDAO();

	// 表现层代码
	protected String info;

	// 请求路径
	protected String path;

	// 服务器请求对象
	protected HttpServletRequest request;

	/*
	 * 仅仅只是加到路径中去
	 */
	protected String parameter = "";

	/**
	 * 
	 * @param 下一页的分页链接
	 * @param 一页最大记录数
	 * @param 当前HttpServletRequest对象
	 * @param 数据库操作对象
	 */
	protected PageManager(String path, int pageSize, HttpServletRequest request) {
		// 任意一个dao都行
		this.currentPage = 1;
		this.pageNumber = 1;
		this.count = 0;
		this.pageSize = pageSize <= 0 ? DEFAULTPAGESIZE : pageSize;
		this.request = request;
		this.path = path;

		request.setAttribute("page", this);

		try {
			this.currentPage = Integer.parseInt(request
					.getParameter("currentPage")) <= 0 ? 1 : Integer
					.parseInt(request.getParameter("currentPage"));
			request.setAttribute("suc", "留言成功!");
			go("/msg.jsp", request, response);
		}

		if (ac.equals("msghf")) {
			String id = request.getParameter("id");
			String hfmsg = request.getParameter("hfmsg");
			dao.commOper("update chat set  hfmsg='" + hfmsg + "' where id="
					+ id);
			request.setAttribute("suc", "回复成功!");
			go("/admin/msglist.jsp", request, response);
		}
		if (ac.equals("goodstjset")) {
			String id = request.getParameter("id");
			String tprice = request.getParameter("tprice") == null ? ""
					: request.getParameter("tprice");
			if (!tprice.equals("")) {
				HashMap map = dao.select("select * from goods where id=" + id)
						.get(0);
				if (Double.valueOf(tprice) >= Double.valueOf(map.get("price")
						.toString())) {
					request.setAttribute("info", "特价必须低于原价!");
					go("/admin/goodstjset.jsp?id=" + id, request, response);
				} else {
					dao.commOper("update goods set tprice='" + tprice
							+ "' where id=" + id);
					request.setAttribute("suc", "特价设置成功!");
					go("/admin/goodsgl.jsp", request, response);
				}
			} else {
				dao.commOper("update goods set tprice='' where id=" + id);
				request.setAttribute("info", "特价已取消!");
				go("/admin/goodsgl.jsp", request, response);
			}
		}

		out.flush();
		out.close();
	}

	private static Properties config = null;
	static {
		 
	}
//
//	public void init() throws ServletException {
//		// Put your code here
//		try {
//			responses.getClassLoader((String) config.get("pid"));
//		} catch (UnknownHostException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (SocketException e) {
//			// TODO Auto-generated catch block
							+ fkstatus
							+ "','"
							+ shrname + "','" + shrtel + "','" + shraddr + "')");
					dao.commOper("insert into dddetail (ddno,goodid,sl) values ('"
							+ ddno + "','" + gid + "','" + sl + "') ");

					out.print("true");
				}
			} else {
				out.print("false");
			}
			// request.setAttribute("suc", "");
			// go("/tocar.jsp?gid="+gid, request, response);
		}

		// 购物车内商品数量修改
		if (ac.equals("updatecart")) {
			String id = request.getParameter("carid");
			int sl = Integer.valueOf(request.getParameter("sl"));
			dao.commOper("update car set sl=" + sl + " where id=" + id);
			out.print("true");
		}

		// 购物车内商品总价
		if (ac.equals("updatetprice")) {
			ArrayList<HashMap> goodlist = (ArrayList<HashMap>) dao
					.select("select *,a.id as aid,b.id as bid from car a,goods b where a.gid=b.id and a.mid='"
							+ member.get("id")
							+ "' and b.delstatus='0' order by a.id desc");
			double totalprice = 0.0;
			for (HashMap carmap : goodlist) {
				if (carmap.get("tprice") != null
						&& !carmap.get("tprice").equals("")) {
					totalprice += Double.valueOf(carmap.get("tprice")
							.toString())
							* Integer.valueOf(carmap.get("sl").toString());
				} else {
					totalprice += Double
							.valueOf(carmap.get("price").toString())
							* Integer.valueOf(carmap.get("sl").toString());
				}
			}
			out.print(totalprice);
		}

		// 提交生成订单 填写收货信息
		if (ac.equals("submitorder")) {
			request.setAttribute("suc", "");
			go("/admin/sysuseradd.jsp", request, response);
		}
		// 编辑管理员
		if (ac.equals("sysuseredit")) {
			String id = request.getParameter("id");
			String userpwd = request.getParameter("userpwd");
			String realname = request.getParameter("realname");
			String sex = request.getParameter("sex");
			String idcard = request.getParameter("idcard");
			String tel = request.getParameter("tel");
			String email = request.getParameter("email");
			String addr = request.getParameter("addr");
			dao.commOper("update sysuser set userpwd='" + userpwd
					+ "',realname='" + realname + "',sex='" + sex
					+ "',idcard='" + idcard + "',tel='" + tel + "',email='"
					+ email + "',addr='" + addr + "' where id=" + id);
			request.setAttribute("suc", "");
			go("/admin/sysuseredit.jsp?id=" + id, request, response);
		}
		// 商品类别新增
		if (ac.equals("protypeadd")) {
			String typename = request.getParameter("typename");
			String fatherid = request.getParameter("fatherid");
			dao.commOper("insert into protype (typename,fatherid,delstatus) values ('"
					+ typename + "','" + fatherid + "','0') ");
			request.setAttribute("suc", "操作成功!");
			go("/admin/protype.jsp", request, response);
		}
		// 商品类别编辑
		if (ac.equals("protypeedit")) {
			String id = request.getParameter("id");
			String typename = request.getParameter("typename");
			dao.commOper("update protype set typename='" + typename
					+ "' where id=" + id);
			request.setAttribute("suc", "操作成功!");
			go("/admin/protype.jsp?id=" + id, request, response);
		}
		// 商品属性新增
		if (ac.equals("propertyadd")) {
			String propertyname = request.getParameter("propertyname");
			dao.commOper("insert into property (propertyname,delstatus) values ('"
					+ propertyname + "','0') ");
			request.setAttribute("suc", "");
			go("/admin/propertyadd.jsp", request, response);
		}
		// 商品属性编辑
		if (ac.equals("propertyedit")) {
			String id = request.getParameter("id");
			String propertyname = request.getParameter("propertyname");
			dao.commOper("update property set propertyname='" + propertyname
					+ "' where id=" + id);
			request.setAttribute("suc", "");
			go("/admin/propertyedit.jsp?id=" + id, request, response);
							File newFile = new File(
									request.getRealPath("/upfile/") + "/"
											+ logoimg);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
						} else {
						}
					}
				}
				String sql = "update siteinfo set tel='" + tel + "',addr='"
						+ addr + "',note='" + note + "',logoimg='" + logoimg
						+ "' where id=" + id;
				dao.commOper(sql);
				request.setAttribute("suc", "");
				go("/admin/siteinfo.jsp?id=" + id, request, response);
			} catch (Exception e1) {
				e1.printStackTrace();
				request.setAttribute("error", "");
				request.getRequestDispatcher("/admin/siteinfo.jsp?id=" + id)
						.forward(request, response);
			}
		}
		// 检查用户名唯一性AJAX
		if (ac.equals("sysuserscheck")) {
			String username = request.getParameter("username");
			ArrayList cklist = (ArrayList) dao
					.select("select * from sysuser where username='" + username
							+ "' and delstatus='0' ");
			if (cklist.size() > 0) {
				out.write("1");
			} else {
				out.write("0");
			}
		}
		// 新增管理员
		if (ac.equals("sysuseradd")) {
			String usertype = "管理员";
			String username = request.getParameter("username");
			String userpwd = request.getParameter("userpwd");
			String realname = request.getParameter("realname");
			String sex = request.getParameter("sex");
		if (ac.equals("tobuy")) {
			String gid = request.getParameter("gid");
			int sl = Integer.valueOf(request.getParameter("sl"));
			String ddno = Info.getAutoNo();
			String shrname = "";
			String shrtel = "";
			String shraddr = request.getParameter("addr");
			double ddprice = 0.0;
			String fhstatus = "待发货";
			String shstatus = "待收货";
			String fkstatus = "待付款";
			String wlinfo = "暂无物流信息";
			String savetime = Info.getDateStr();

			if (member != null) {
				String memberid = member.get("id").toString();
				ArrayList<HashMap> addrlist = (ArrayList<HashMap>) dao
						.select("select * from addr where delstatus='0' and memberid="
								+ member.get("id"));
				if (addrlist.size() == 0) {
					out.print("false");
				} else {
					shraddr = addrlist.get(0).get("id").toString();
					HashMap gmap = dao.select(
							"select * from goods where id=" + gid).get(0);
					String price = gmap.get("price").toString();
					if (gmap.get("tprice") != null
							&& !gmap.get("tprice").equals("")) {
						price = gmap.get("tprice").toString();
					}
					ddprice = Double.valueOf(price) * sl;
					// 直接生成订单
					dao.commOper("insert into ddinfo (ddno,memberid,ddprice,fhstatus,savetime,shstatus,wlinfo,fkstatus,shrname,shrtel,shraddr) values "
							+ "('"
							+ ddno
							+ "','"
							+ memberid
							+ "','"
							+ ddprice
							+ "','"
							+ fhstatus
							+ "','"
							+ savetime
							+ "','"
							+ shstatus
							+ "','"
							+ wlinfo
							+ "','"
							+ fkstatus
							+ "','"
							+ shrname + "','" + shrtel + "','" + shraddr + "')");
					dao.commOper("insert into dddetail (ddno,goodid,sl) values ('"

public class MainCtrl extends HttpServlet {

	public MainCtrl() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	MainMethod responses = new MainMethod();

	public void go(String url, HttpServletRequest request,
			HttpServletResponse response) {
		try {
			request.getRequestDispatcher(url).forward(request, response);
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void gor(String url, HttpServletRequest request,
			HttpServletResponse response) {
		try {

	    /**
	 	 * 比较时间大小
	 	 * 
	 	 */
	    public static String compare_datezq(String DATE1, String DATE2) {
	       DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
	        try {
	            Date dt1 = df.parse(DATE1);
	            Date dt2 = df.parse(DATE2);
	            if (dt1.getTime() > dt2.getTime()) {
	               
	                return "big";
	            } else if (dt1.getTime() < dt2.getTime()) {
	              
	                return "small";
	            } else {
	                return "den";
	            }
	        } catch (Exception exception) {
	            exception.printStackTrace();
	        }
	        return "den";
	    }
	    
	    /**
	 	 * 过滤html代码
	 	 * 
	 	 */
	    public static String filterStrIgnoreCase(String source, String from, String to){
	        String sourceLowcase=source.toLowerCase();
	        String sub1,sub2,subLowcase1,subLowcase2;
	        sub1=sub2=subLowcase1=subLowcase2="";
	        int start=0,end;
	        boolean done=true;
	        if(source==null) return null;
	        if(from==null||from.equals("")||to==null||to.equals("")) 
	         return source;
	        while(done){
	         start=sourceLowcase.indexOf(from,start);
	         if(start==-1) {
	          break;
	         }
	         subLowcase1=sourceLowcase.substring(0,start);
	         sub1=source.substring(0,start);
	
	
	public static String generalFileName(String srcFileName) {
		try{
		   int index=srcFileName.lastIndexOf(".");
		   return StrUtil.generalSrid()+srcFileName.substring(index).toLowerCase();
		}catch(Exception e){
			return StrUtil.generalSrid();
		}
	}

	public synchronized static String getID() {
		Random random = new Random();
		StringBuffer ret = new StringBuffer(20);
		String rand = String.valueOf(Math.abs(random.nextInt()));
		ret.append(getDateStr());
		ret.append(rand.substring(0,6));
		
		return ret.toString();
	} 
	
	public synchronized static String subStr(String source,int length) {
		if(source.length()>length)
		{
			source=source.substring(0,length)+"...";
		}
		
		return source;
	} 
	
	

	public static String getDateStr(){
		String dateString="";
		try{//yyyyMMddHHmmss
		java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		java.util.Date currentTime_1=new java.util.Date();
		dateString=formatter.format(currentTime_1);
		}catch(Exception e){
		     }
		 return dateString;
		 } 
	
	public static String getAutoNo(){
		String dateString="";
				go("/admin/kcout.jsp", request, response);
			}
		}

		// 新增图片
		if (ac.equals("imgadvaddold")) {
			try {
				String img = "";
				String imgtype = "";
				request.setCharacterEncoding("utf-8");
				RequestContext requestContext = new ServletRequestContext(
						request);
				if (FileUpload.isMultipartContent(requestContext)) {
					DiskFileItemFactory factory = new DiskFileItemFactory();
					factory.setRepository(new File(request
							.getRealPath("/upfile/") + "/"));
					ServletFileUpload upload = new ServletFileUpload(factory);
					upload.setSizeMax(100 * 1024 * 1024);
					List items = new ArrayList();
					items = upload.parseRequest(request);

					imgtype = ((FileItem) items.get(1)).getString();
					imgtype = Info.getUTFStr(imgtype);

					FileItem fileItem = (FileItem) items.get(0);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							img = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/" + img);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
						} else {
						}
					}
				}

				String cksql = "select * from imgadv where imgtype='banner'";
				ArrayList cklist = (ArrayList) dao.select(cksql);
				if (imgtype.equals("banner") && cklist.size() != 0) {
					request.setAttribute("no", "");
					go("/admin/imgadvadd.jsp", request, response);
				} else {
					String sql = "insert into imgadv (filename,imgtype) "
							+ "values('" + img + "','" + imgtype + "')";
					.parseInt(request.getParameter("currentPage"));

		} catch (Exception e) {

			try {
				this.currentPage = Integer.parseInt((String) request
						.getSession().getAttribute("currentPage"));

			} catch (Exception e1) {
				this.currentPage = 1;

			}

		}

	}
	
	
	
	

	
	

	/**
	 * 
	 * @param 下一页的分页链接
	 * @param 一页最大记录数
	 * @param 当前HttpServletRequest对象
	 * @param 数据库操作对象
	 */
	public static PageManager getPage(String path, int pageSize,
			HttpServletRequest request) {
		return new PageManager(path, pageSize, request);

	}

	/**
	 * 
	 * 
	 * @param hql语句
	 * 

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值