1. 在一个项目中引入两个数据库资源
可以在jdbc.properties中配置两个数据连接资源,然后在spring-mybatis.xml配置文件中对两个数据库资源进行分别配置,同时映射对应得dao以及mapping文件
注意:两个数据资源对应的包最好路径不一样:
2. controller返回json字符串的两种方式
方式一:使用@ResponseBody注解方式
@ResponseBody
@RequestMapping(value="getOrgTreeListStepbystep")
public Map<String,Object> queryRegion(String orgid,String firstload){
Map<String,Object> map = new HashMap<String,Object>();
map.put("data", “数据”);
return map;
}
方式二:使用JsonUtil工具类
@RequestMapping(value="/getModelList",method = RequestMethod.POST)
public void getModelList(HttpServletRequest request,HttpServletResponse response,String pageno) {
Page page = new Page(Integer.parseInt(pageno), 12, modelService.ModelTotal());
int pagenum =page.getPageno();
int size =page.getPagesize();
List<ModelBean> list = modelService.getModelList(pagenum, size);
page.setPagelist(list);
JsonUtil out = new JsonUtil(request,response);
out.outObjString(page);
}
JsonUtil工具类
package com.qx.util;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
public class JsonUtil {
public JsonUtil(HttpServletRequest request,HttpServletResponse response){
this.request = request;
this.response = response;
}
/** 当前HttpServletRequest */
protected HttpServletRequest request;
/** 当前HttpServletResponse */
protected HttpServletResponse response;
protected PrintWriter writer;
public PrintWriter getWriter() {
try {
writer = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
return writer ;
}
public void setWriter(PrintWriter writer) {
this.writer = writer;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
// JSON
private void setJsonHeader(){
HttpServletResponse r =getResponse();
r.setContentType("application/json;charset=UTF-8");
r.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
r.setHeader("Pragma", "no-cache"); // HTTP 1.0.
r.setDateHeader("Expires", 0); // Proxies.
}
/**
* 警告:请不要直接使用此函数,防止产生缓存问题
* 请考虑使用outObjString
**/
public void outString(String str) {
try {
PrintWriter out = getResponse().getWriter();
out.print(str);
//System.out.println(str);
} catch (IOException e) {
e.printStackTrace();
}
}
public void outJson(String str) {
setJsonHeader();
outString(str);
}
@SuppressWarnings("rawtypes")
public void outListString(List list) {
if(list == null) list = new ArrayList();
setJsonHeader();
String jsonString = "{\"success\":true,\"total\":" + list.size() + ",\"data\":" + new Gson().toJson(list) + "}";
outString(jsonString);
}
@SuppressWarnings("rawtypes")
public void outDelOrInListString(List tripList,List list) {
if(list == null) list = new ArrayList();
setJsonHeader();
String jsonString = "{\"success\":true,\"total\":" + list.size()
+ ",\"data\":" + new Gson().toJson(tripList) + ",\"deleteTrip\":"
+ new Gson().toJson(list) + "}";
outString(jsonString);
}
@SuppressWarnings("rawtypes")
public void outComboString(List list) {
setJsonHeader();
String jsonString = null;
if(list==null||list.isEmpty()){
jsonString = "{total:" + 0 + ",root:}";
}else{
jsonString = "{total:" + list.size() + ",root:"
+ new Gson().toJson(list) + "}";
}
outString(jsonString);
}
@SuppressWarnings("rawtypes")
public void outListStringToJSON(List list) {
setJsonHeader();
String jsonString = "{\"total\":" + list.size() + ",\"root\":" + new Gson().toJson(list) + "}";
outString(jsonString);
}
@SuppressWarnings("rawtypes")
public void outQueryDate(List list) {
setJsonHeader();
String jsonString = "{\"success\":true,\"data\":" + new Gson().toJson(list) + "}";
System.out.println(jsonString);
outString(jsonString);
}
public void outObjString(Object obj) {
setJsonHeader();
String jsonString = "{\"success\":true,\"data\":" + new Gson().toJson(obj) + "}";
outString(jsonString);
}
@SuppressWarnings("rawtypes")
public void outTreeJsonList(List list) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(new Gson().toJson(list));
System.out.println(new Gson().toJson(list));
}
@SuppressWarnings("rawtypes")
public void outMapToJson(Map map) {
setJsonHeader();
String jsonString = "{\"success\":true,\"data\":" + new Gson().toJson(map) + "}";
// System.out.println(jsonString);
outString(jsonString);
}
}