代码-mysql中字段为text类型使用mybatis的Criteria查询无法进行封装

问题描述

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

代码-mysql中字段为text类型使用mybatis的Criteria查询无法进行封装的相关文章

关于mysql中字段的数据类型和程序中变量的数据类型的匹配问题

问题描述 我想知道完整的mysql中字段的数据类型对应程序中变量的数据类型的完整版,比如:mysql中varchar数据类型对应程序中String类型变量. 解决方案 解决方案二:我觉得你还是把mysql的类型列出来!!这样才能给你完整的匹配!!intIntegerlongLongdatetimeTimestamp长的小数点Decimal等等

oracle中字段是date类型,在页面上要显示成&amp;amp;#39;2015-01-14&amp;amp;#39;这样的

问题描述 oracle中字段是date类型,在页面上要显示成'2015-01-14'这样的 查询的时候用了to_char(date,'yyyy-MM-dd'),就报这样的错了 解决方案 可以呀.看看date错了没有 解决方案二: 你用json?如果是的话需要对json序列化时设置时间格式 解决方案三: 在建表的时候就需要进行一个格式化的 解决方案四: 可以在页面上使用格式化标签来显示的嘛 解决方案五: SQL语句是没有问题的,问题可能出现在你的展现层上 解决方案六: 查出来是字符串,转日期..报

关于MYSQL中FLOAT和DOUBLE类型的存储

关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方式和C/C++一致准守IEEE标准他们都是浮点型的,所谓的浮点型,是小数点的位置可变,其能够表示的范围比定点小数要广得多,而存储空间节省,但是受到精度的影响,所以在严格的数据中尽量使用定点小数mysql decimal(m,d)类型,ORACLE压根没有浮点数字类型而是number(p,s)定点小数, float 4字节     1       8      23   符号位   指数位 尾数 doub

mysql中varchar和text字段类型理解

最近有几个同学问我varchar和text有啥别吗,这个问题,以前说真的也没太多的整理,以前遇到text在设计中就是尽可能的拆到另一个表中,保持主表尽量的瘦小,可以让innodb bp缓存更多的数据. 今天借次机会系统整理一下,主要从存储上,最大值,默认值几个方面进行比较. BTW: 从ISO SQL:2003上讲VARCHAR是一个标准型,但TEXT不是(包括tinytext).varchar在MySQL 5.0.3之前只支持0-255byte, 在5.0.3之后才支持到0-65535byte

请问在SQLServer中如何对TEXT类型字段进行条件查询

问题描述 比如在Table表里有一个Content的TEXT类型字段,Content的长度比较大,不能转换成VARCHAR类型.如何实现类似SELECT*FROMTableWHEREContentLIKE'%test%'这样的搜索呢? 解决方案 解决方案二:SELECT*FROMTableWHEREContentLIKE'%test%'就是这样的模糊查询啊或者你要的是全文检索?解决方案三:SELECT*FROMTableWHEREContentLIKE'%'+test+'%'解决方案四:SELE

MySQL中CHAR和VARCHAR类型演变和详解_Mysql

一.演变: MySQL数据库的varchar类型在5.0.3以下的版本中的最大长度限制为255,其数据范围可以是0~255. 在MySQL5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节,也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小. 如果在varchar中写入大于设定的长度,默认情况下会

MySQL中怎么对varchar类型排序问题

今天在对国家电话号码表进行排序的时候发现了一个有趣的问题,我想让isdcode字段按照由小到大的顺序排序,于是乎我是这样写的  代码如下 复制代码 SELECT * FROM gb_country_isdcode ORDER BY isdcode asc 结果如下,发现竟然不是我想要的结果,asc排序是对的呀,于是乎我找呀找,找呀找,终于找到原因了: isdcode是varcher类型的,如果排序的直接用asc显然是不行的,必须将他转换成int类型然后就可以正常排序了,只要isdcode + 0

MySQL中字段名和保留字冲突的解决办法_Mysql

我们知道通常的SQL查询语句是这么写的: 复制代码 代码如下: select col from table; 这当然没问题,但如果字段名是"from"呢? 复制代码 代码如下: select from from table; 若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符"`"将字段名括起来: 复制代码 代码如下: select `from` from table; 总结 刚发现我原先设计的数据库表里有两个字段都用了保留字(add,commen

mysql中字段添加、修改、删除函数

mysql教程中字段添加.修改.删除函数 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); //增加一个新列    alter table t2 add d timestamp; alter table infos add ex tinyint not null default '0'; //删除列