MyBatis查询不到数据

huyuqing368 中信网络科技 初级工程师  2015-09-29 09:22:46
数据库中有数据,但是查询不到

2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Preparing: SELECT a.id, a.company_id AS "company.id", a.office_id AS "office.id", a.opid, a.password, a.name, a.email, a.phone, a.mobile, a.optype AS opType, a.login_ip, a.login_time, a.remarks, a.login_flag, a.create_by AS "createBy.id", a.create_date AS createDate, a.update_by AS "updateBy.id", a.update_date AS updateDate, c.name AS "company.name", c.parent_id AS "company.parent.id", c.parent_ids AS "company.parentIds", ca.id AS "company.area.id", ca.name AS "company.area.name", ca.parent_id AS "company.area.parent.id", ca.parent_ids AS "company.area.parentIds", o.name AS "office.name", o.parent_id AS "office.parent.id", o.parent_ids AS "office.parentIds", oa.id AS "office.area.id", oa.name AS "office.area.name", oa.parent_id AS "office.area.parent.id", oa.parent_ids AS "office.area.parentIds", cu.id AS "company.primaryPerson.id", cu.name AS "company.primaryPerson.name", cu2.id AS "company.deputyPerson.id", cu2.name AS "company.deputyPerson.name", ou.id AS "office.primaryPerson.id", ou.name AS "office.primaryPerson.name", ou2.id AS "office.deputyPerson.id", ou2.name AS "office.deputyPerson.name" FROM sys_operator a JOIN sys_office c ON c.id = a.company_id JOIN sys_area ca ON ca.id = c.area_id JOIN sys_office o ON o.id = a.office_id JOIN sys_area oa ON oa.id = o.area_id LEFT JOIN sys_operator cu ON cu.id = c.primary_person LEFT JOIN sys_operator cu2 ON cu2.id = c.deputy_person LEFT JOIN sys_operator ou ON ou.id = o.primary_person LEFT JOIN sys_operator ou2 ON ou2.id = o.deputy_person WHERE a.opid = ? AND a.is_valid = ?
2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Parameters: 12345(String), 0(String)
2015-09-29 09:17:24,149 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - <== Total: 0
...全文
5585 点赞 收藏 23
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tangSan3 2019-01-12
昨天我也遇到这个问题,问题的方式不同,供后来人参考,oracle数据库,最后发现我字段类型用的是char(2),然后mybatis又传的是一位,关键是用一位在数据库进行查询能查询出来,然后就自动忽略了char(2)是定长为2的形式,搞了半天。。
回复
银爪地海贼1 2018-08-30
引用 18 楼 xian1213553891 的回复:
楼主,你的数据库是用的oracle吗?
如果是,那么你添加了数据之后还需要提交一下事务,不然数据只是在你oracle数据库里的缓存里,所以只能在工具里面查出来,但是mybatis查不出来
正解,要commit
回复
dn1512_321 2017-06-22
resultMap的类型呢?对过了么?
回复
scos_sxb 2017-04-25
我也出现这个问题了,在controller 里注入mapper接口,在调用查询能查出数据,初步估计是事物传播行为出了点问题
回复
徐刘根 2016-09-30
可能是数据库版本的问题,以前遇到一个问题使用mysq5.6.3 有问题 换到5.7 同样代码就没有问题
回复
xian_wd 2016-07-22
楼主,你的数据库是用的oracle吗? 如果是,那么你添加了数据之后还需要提交一下事务,不然数据只是在你oracle数据库里的缓存里,所以只能在工具里面查出来,但是mybatis查不出来
回复
xian_wd 2016-07-22
我现在也是这个问题,一样的问题,实体里的属性类型是string,数据库里的字段类型是varchar2,实体里get/set方法都有,实体和数据库的字段也是对应好的,附图
回复
xian_wd 2016-07-22
我现在也是这个问题,一样的问题,实体里的属性类型是string,数据库里的字段类型是varchar2,实体里get/set方法都有,实体和数据库的字段也是对应好的,附图
回复
MessiYsk 2016-04-17
看你用的什么数据库,Oracle的话他的NUmber的数据类型不一定对应JAva的INT
回复
1、把打印的sql放到数据库跑,看数据对不对; 2、如果查询数据没问题,就好好看代码吧。。。
回复
认清自己 2015-11-25
用junit测试下
回复
豪豪00仔仔 2015-11-25
会不会在事务中,查询 这条操作前删除了数据,然后执行到此处就报错rollback了,所以数据看起来永远是没问题的
回复
wrong1111 2015-09-30
引用 4 楼 yan372397390 的回复:
[quote=引用 3 楼 huyuqing368 的回复:] 有没有可能实体类里的属性类型和数据库中对应字段的类型不匹配
99%是这个原因[/quote] 同意这个。
回复
Strive20101101 2015-09-30
mybatis中,resultType或resultMap属性是否设置正确?
回复
huyuqing368 2015-09-29
get/set方法都检查过两遍了,sql语句拿出来跑过是对的
回复
longbaopyl 2015-09-29
先扔到数据库里面跑一跑,过了再看下自己写的BO字段名有没有匹配,get/set方法有没有漏
回复
huyuqing368 2015-09-29
我检查了好多遍了,属性的类型都是对的,还有什么情况导致查询不出吗
回复
兔子托尼啊 2015-09-29
放数据库中测试看看。
回复
小军617 2015-09-29
引用 3 楼 huyuqing368 的回复:
有没有可能实体类里的属性类型和数据库中对应字段的类型不匹配
99%是这个原因
回复
huyuqing368 2015-09-29
有没有可能实体类里的属性类型和数据库中对应字段的类型不匹配
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-09-29 09:22
社区公告
暂无公告