easyui-datagrid通过action从数据库获取数据的关键代码

实际上是结合struts2来从数据获取json格式的数据。
 
关键代码:
GetUserAction.java代码
 
package com.log.control;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
import com.log.entity.User4;
import com.opensymphony.xwork2.ActionSupport;
 
/**
 * 用于从数据库获取数据
 * @author Wei
 * @time   2016年9月19日 上午12:45:39
 */
public class GetUserAction extends ActionSupport {
       private User4 user ;
       /**
       *
       */
       private static final long serialVersionUID = 1L;
       /**
       * 获取json格式字符串
       * @param obj
       * @return
       */
       public String getJsonString(Object obj ) {
            ObjectMapper om = new ObjectMapper();
            StringWriter sw = new StringWriter();
             try {
                  JsonGenerator jg = new JsonFactory().createJsonGenerator( sw );
                   om .writeValue( jg , obj );
                   jg .close();
            } catch (IOException e ) {
                   // TODO Auto-generated catch block
                   e .printStackTrace();
            }
             return sw .toString();
      }
       /**
       * 把从数据库获取到的数据 List <User4> list 写到页面上
       * @param obj
       */
       public void writeJson(Object obj ) {
            String json = getJsonString( obj );
             try {
                  ServletActionContext.getResponse().setContentType( "text/html;charset=utf-8" );
                  ServletActionContext.getResponse().getWriter().write( json );
            } catch (IOException e ) {
                   // TODO Auto-generated catch block
                   e .printStackTrace();
            }
      }
       /**
       *
       */
       @Override
       public String execute() throws Exception {
             // easyui-datagrid表格 点击下一页的时候 的参数 page=2&rows=11&sort=email&order=DESC
            HttpServletRequest req = ServletActionContext.getRequest();
             //System.out.println("---11111---page:"+req.getParameter("page"));
             //System.out.println("GetUserAction.java----------"+req.getQueryString());
            UserDao dao = new UserDao();
             //开启hibernate的transaction等
             dao .init();
            List<User4> list = new ArrayList<User4>();
             for ( int i =1; i <20; i ++){
                   //通过hibernate从数据库获取数据,放到list中
                   list .add((User4) dao . session .get(User4. class , i ));
            }
             //销毁hibernate相关的资源
             dao .destroy();
             //写到页面上
            writeJson( list );
             return null ;
      }
}
 
UserDao.java代码
package com.log.control;
import java.sql.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class UserDao {
//    private SessionFactory sessionFactory;
//    private Session session;
//    private Transaction transaction;
      
       public SessionFactory sessionFactory ;
       public Session session ;
       public Transaction transaction ;
//    @Before
       public void init() {
            Configuration configuration = new Configuration().configure();
            ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings( configuration .getProperties())
                        .buildServiceRegistry();
             sessionFactory = configuration .buildSessionFactory( serviceRegistry );
             session = sessionFactory .openSession();
             transaction = session .beginTransaction();
      }
//    @After
       public void destroy() {
             transaction .commit();
             session .close();
             sessionFactory .close();
      }
//    @Test
       public void testInsert() {
            UserDao dao = new UserDao();
             dao .init();
             for ( int i = 43; i < 64; i ++) {
                   dao . session
                              .save( new User4(55, "xiaohong" + i , "qq" + i + "@163.com" , new Date(System.currentTimeMillis())));
            }
             dao .destroy();
      }
}
 
 具体页面展示:

 

 

 

 

 
 
 
 
获取到的json数据:

 


原文:https://www.cnblogs.com/Sunnor/p/5883683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值