项目是hibernate加springMVC
package com.iujin.web.uadpt.controller.admin;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.hibernate.criterion.Restrictions;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.ModelAndView;
import com.iujin.web.uadpt.entity.admin.UadptTacActDataEntity;
import com.iujin.web.uadpt.service.admin.UadptTacActDataServiceI;
@Controller
@RequestMapping("/uadptTacActDataController")
public class UadptTacActDataController extends BaseController {
@SuppressWarnings("unused")
private static final Logger logger = Logger.getLogger(UadptTacActDataController.class);
@Autowired
private UadptTacActDataServiceI uadptTacActDataService;
@Autowired
private SystemService systemService;
private String message;
/**
* 给报表导数据
*
* @return
*/
@RequestMapping(params = "uadptTacActData")
public ModelAndView uadptTacActData(HttpServletRequest request) {
return new ModelAndView("uadpt/admin/UadptTacActDataList");
}
/**
* easyui AJAX请求数据
*
* @param request
* @param response
* @param datagrid
* @param user
*/
@RequestMapping(params = "datagrid")
public void datagrid(UadptTacActDataEntity uadptTacActData,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(UadptTacActDataEntity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, uadptTacActData, request.getParameterMap());
try{
//自定义追加查询条件
}catch (Exception e) {
throw new BusinessException(e.getMessage());
}
cq.add();
this.uadptTacActDataService.getDataGridReturn(cq, true);
TagUtil.datagrid(response, dataGrid);
}
/**
* 导入页面跳转
*
* @return
*/
@RequestMapping(params = "goUpload")
public ModelAndView goUpload(HttpServletRequest request) {
return new ModelAndView("uadpt/admin/importDate-upload");
}
/**
* 导入Form(采用SQL方式)
*
* @param ids
* @return
* @throws Exception
*/
@RequestMapping(params = "doUpload")
@ResponseBody
public AjaxJson doUpload(UadptTacActDataEntity uadptTacActData, HttpServletRequest request) throws Exception{
AjaxJson j = new AjaxJson();
//创建一个通用的多部分解析器.
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
//设置编码
multipartResolver.setDefaultEncoding("utf-8");
if(multipartResolver.isMultipart(request)){
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
//取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while(iter.hasNext()){
//取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
//创建临时文件
File f = new File("c:\\filemgr_ugda02");
File fTemp = File.createTempFile("phonenum", ".csv", f);
FileInputStream In = new FileInputStream(fTemp);
FileOutputStream fos = new FileOutputStream("c:\\filemgr_ugda02\\phonenum.txt");
//利用字节流把内容写入文件
byte[] buffer1=file.getBytes();
fos.write(buffer1);
In.close();
fos.close();
fTemp.delete();
//执行sql load文件 request.getRealPath("/")
String commandText= "cmd /c start c:/filemgr_ugda02/exec.bat ";
Runtime runtime=Runtime.getRuntime();
runtime.exec(commandText);
message = "号码导入成功";
}
}
j.setMsg(message);
return j;
}
/**
* 转化
*/
@RequestMapping(params = "dataChange")
@ResponseBody
public AjaxJson dataChange(UadptTacActDataEntity uadptTacActData, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
if(!uadptTacActDataService.change()){
message = "转化失败";
j.setMsg(message);
j.setSuccess(false);
return j;
}
message = "转化成功";
systemService.addLog(message, Globals.Log_Type_INSERT,Globals.Log_Leavel_INFO);
j.setMsg(message);
return j;
}
/**
* 检验
*/
@RequestMapping(params = "dataCheck")
@ResponseBody
public AjaxJson dataCheck(UadptTacActDataEntity uadptTacActData, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
uadptTacActDataService.check();
String pama=uadptTacActDataService.checkerror();
j.setObj(pama);
if("0".equals(pama)){
message = "检验成功";
j.setMsg(message);
j.setSuccess(false);
return j;
}
message = "检验失败,共有"+pama+"条错误数据";
systemService.addLog(message, Globals.Log_Type_INSERT,Globals.Log_Leavel_INFO);
j.setMsg(message);
return j;
}
/**
* 同步
*/
@RequestMapping(params = "dataSync")
@ResponseBody
public AjaxJson dataSync(UadptTacActDataEntity uadptTacActData, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
uadptTacActDataService.check();
String pama=uadptTacActDataService.checkerror();
if("0".equals(pama)){
uadptTacActDataService.deltarg();
uadptTacActDataService.sync();
message = "同步成功";
j.setMsg(message);
j.setSuccess(false);
return j;
}
message = "数据存在问题,不能同步";
systemService.addLog(message, Globals.Log_Type_INSERT,Globals.Log_Leavel_INFO);
j.setMsg(message);
return j;
}
/**
* 错误列表页面跳转
*
* @return
*/
@RequestMapping(params = "goErrorData")
public ModelAndView goErrorData(HttpServletRequest request) {
return new ModelAndView("uadpt/admin/errorDataList");
}
/**
* easyui AJAX请求数据
*
* @param request
* @param response
* @param datagrid
* @param user
*/
@RequestMapping(params = "datagridError")
public void datagridError(UadptTacActDataEntity uadptTacActData,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(UadptTacActDataEntity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, uadptTacActData, request.getParameterMap());
try{
<span style="color:#FF0000;"><strong>//自定义追加查询条件 状态为0,执行效率比不等于1高,此处用的是hibernate </strong></span><pre name="code" class="java"><span style="color:#FF0000;"><strong>Restrictions.or 的用法,其中</strong></span><pre name="code" class="java"><span style="color:#FF0000;"><strong>statusTac...是实体类的属性</strong></span>
cq.add(Restrictions.or(Restrictions.eq("statusTac", 0),Restrictions.eq("statusTerminal", 0),Restrictions.eq("statusBrand", 0),Restrictions.eq("statusModel", 0),Restrictions.eq("statusCmType", 0),Restrictions.eq("statusDual", 0),Restrictions.eq("statusSoftLock", 0),Restrictions.eq("statusNettypeUni", 0),Restrictions.eq("statusNettypeOth", 0)));}catch (Exception e) {throw new BusinessException(e.getMessage());}cq.add();this.uadptTacActDataService.getDataGridReturn(cq, true);TagUtil.datagrid(response, dataGrid);}}