问题描述
- mysql中字段为text类型使用mybatis的Criteria查询无法进行封装
-
这是我的数据库tb_item_param CREATE TABLE `tb_item_param` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `item_cat_id` bigint(20) DEFAULT NULL COMMENT '商品类目ID', `param_data` text COMMENT '参数数据,格式为json格式', `created` datetime DEFAULT NULL, `updated` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `item_cat_id` (`item_cat_id`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='商品规则参数'
我的代码
public void itemParamList(int page, int rows) { EUIDataGridResult result = new EUIDataGridResult(); TbItemParamExample example = new TbItemParamExample(); Criteria criteria = example.createCriteria(); criteria.andIdEqualTo((long)1); //PageHelper.startPage(page, rows); List<TbItemParam> list = itemParamMapper.selectByExample(example); TbItemParam tbItemParam = list.get(0); //TbItemParam itemParam = itemParamMapper.selectByPrimaryKey((long)1); System.out.println(tbItemParam.getParamData());
配置文件都是对的 查询出来的id什么都ok就是ParamData字段为null?TbItemParam pojo中ParamData字段是String类型,,为什么封装不进去?
pojo与mapper都是逆向工程生成的代码。。
解决方案
我是题主 当我使用
TbItemParam tbItemParam = itemParamMapper.selectByPrimaryKey((long)1);
System.out.println(tbItemParam.getParamData());
进行查询的时候 可以查出来
解决方案二:
mybatis对text类型进行了特别处理,在selectByExampleWithBLOBs里面,criteria里面没有。但可以自己在exampler里面自己写,他会自动映射成sql语句进行查询
解决方案三:
mybatis对text类型进行了特别处理,在selectByExampleWithBLOBs里面,criteria里面没有。但可以自己在exampler里面自己写,他会自动映射成sql语句进行查询
解决方案四:
mybatis对text类型进行了特别处理,在selectByExampleWithBLOBs里面,criteria里面没有。但可以自己在exampler里面自己写,他会自动映射成sql语句进行查询
解决方案五:
mybatis对text类型进行了特别处理,在selectByExampleWithBLOBs里面,criteria里面没有。但可以自己在exampler里面自己写,他会自动映射成sql语句进行查询
解决方案六:
。。。网络差,不小心提交了好多次。。
时间: 2024-09-07 06:42:03