mybatis与struts直接写原生sql例子

package com.test.dtjc.tdsc0005.action;

import com.opensymphony.xwork2.ActionSupport;
import com.test.dtjc.tdsc0000.common.SQLAdapter;
import com.test.dtjc.tdsc0005.model.Tdsc0005Model;

import org.apache.struts2.ServletActionContext; //key   
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;

public class Tdsc0005Action extends ActionSupport{
	private static final long serialVersionUID = 1L;
	@Autowired
	private SqlSessionTemplate sqlSessionTemplate;
	@SuppressWarnings("unchecked")
	public String execute() {
		HttpServletRequest request = ServletActionContext.getRequest();
		String cjgsGuid=request.getParameter("cjgsGuid");//字符串
		String sql = "";
		sql = sql+ 
		       " SELECT "
		     + "   dbms_lob.substr(GSNR,4000)  GSNR "
		     + " FROM "
		     + " T_CJGS "
		     + " WHERE "
		     + " CJGS_GUID = '"
		     + cjgsGuid+"'";
		List<Tdsc0005Model> gsnr= sqlSessionTemplate.selectList("superSelect",new SQLAdapter(sql));
		Map<String,String> map = new HashMap<String,String>();
		map.clear();
		for (Entry<String, Integer> entry : ((Map<String, Integer>) gsnr.get(0)).entrySet()) {
			map.put(entry.getKey(), String.valueOf(entry.getValue()));
		}
		//成交公示内容
		request.setAttribute("cjgsNr",  map.get("GSNR"));
		return "success";
	}

}


1、以上代码中从外部获取参数的代码,以url,或页面内部某id的值

HttpServletRequest request = ServletActionContext.getRequest();
		String cjgsGuid=request.getParameter("cjgsGuid");//字符串

即从 HttpServletRequest 中取得页面或URL传入的值

2、拼写sql语句

sql = sql+ 
		       " SELECT "
		     + "   dbms_lob.substr(GSNR,4000)  GSNR "
		     + " FROM "
		     + " T_CJGS "
		     + " WHERE "
		     + " CJGS_GUID = '"
		     + cjgsGuid+"'";

3、调用 mybatis 查询

		List<Tdsc0005Model> gsnr= sqlSessionTemplate.selectList("superSelect",new SQLAdapter(sql));

4、查询结果取得

		Map<String,String> map = new HashMap<String,String>();
		map.clear();
		for (Entry<String, Integer> entry : ((Map<String, Integer>) gsnr.get(0)).entrySet()) {
			map.put(entry.getKey(), String.valueOf(entry.getValue()));
		}

5、返回页面显示内容

		request.setAttribute("cjgsNr",  map.get("GSNR"));

6、跳转页面

return "success";

猜你喜欢

转载自blog.csdn.net/guoruijun_2012_4/article/details/83893668