mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询

来源:互联网 发布:软件测试外包公司 编辑:程序博客网 时间:2024/05/22 11:30

数据表名称:  tb_item_param


表结构如下:



表数据如下:




现想实现,在Java Web应用中,对此表进行分页查询---先采用JUnit单元测试,再实现对应的controller


JUnit单元测试


  @Test    public void testTbItemParam() throws Exception{    //1、 拿到spring上下文对象    ApplicationContext aContext = null ;        try{    aContext= new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");    }    catch(Exception ex){    ex.printStackTrace();    }    //2、用这个上下文对象 拿到商品规格参数模板的 mapper映射类 --> 代理对象 bean    TbItemParamMapper itemMapper = aContext.getBean(TbItemParamMapper.class);    //3、设置分页显示    PageHelper.startPage(1, 5);// 一页显示5,当前是第一页    //4、查询商品规格参数模板 此时,list已经是分页状态了,example无条件查询,相当于 select*from taotao.tb_item_param limit 0,5    TbItemParamExample example =new TbItemParamExample();    List<TbItemParam> list = itemMapper.selectByExample(example); //这个是查询普通文本类型的,这里演示一下效果        //5、判断一下list里面是否查询到了数据集    if(list !=null & list.size()>0)    {    int i = 0;    for(TbItemParam item : list){    System.out.println(item.getId()+","+item.getItemCatId()+","+item.getParamData()+","+(i+1));    i++;    }    }    //下面,我们用PageInfo泛型集合包装一下商品list    //同时,我们可以用pageInfo对象进行一些分页属性的返回    PageInfo<TbItemParam> pageInfo = new PageInfo<>(list);    long totalCount = pageInfo.getTotal();    System.out.println("总记录数:"+totalCount);    int pages = pageInfo.getPages();    System.out.println("总页数:"+pages);    int pageSize = pageInfo.getPageSize();    System.out.println("每页展示数:"+pageSize);    int lastPage = pageInfo.getFirstPage();    System.out.println("首页:"+lastPage);    int nextPage = pageInfo.getNextPage();    System.out.println("下一页:"+nextPage);    }

执行后我们发现,表的字段param_data打印为null



原因就是,xxxxmapperselectByExample()方法针对的是普通文本类型的字段,如果想要查询含有大文本类型的字段,需要用到xxxxmapepr的另一个方法----->selectByExampleWithBLOBs()



上述demo,只需改一个地方就行:


//List<TbItemParam> list = itemMapper.selectByExample(example); //查询普通字符串//查询 数据库 类型 是text 大文本类型的数据List<TbItemParam> list = itemMapper.selectByExampleWithBLOBs(example);    


改过后,执行下测试的结果如下:





servive和controller的demo部分就不放出来了,最终效果就是页面上实现了商品规格参数模板的分页查询的展示:

 

1、controller返回的json数据字符串:



2、jsp页面easyui-datagrid  js插件的数据表格展示:




3、js实现ParamData的json数据拆分:




4、最终页面效果展示(默认一页显示30条记录):





阅读全文
0 0