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

数据表名称:  tb_item_param


表结构如下:


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第1张图片


表数据如下:


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第2张图片


现想实现,在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 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 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


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第3张图片


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



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


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


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


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第4张图片



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

 

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



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


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第5张图片


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


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第6张图片


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


mybatis逆向工程+PageHelper分页插件+mysql大文本类型字段的查询_第7张图片



你可能感兴趣的:(Java,Web)