oracle数据库sql developer 用SQL可以查到数据,但是项目却查不出来

如果字段shzt类型为char(2)类型话,当给shzt=0时,通过PLSQL能查出来一条数据,但是项目运行中查不出来数据。
是因为,PLSQL连接的数据库是Oracle,而Oracle中字段类型为char时,如果值长度不够,Oracle会自动用空格补齐,但是项目中不会自动补齐,必须在代码中补齐长度才可以查的出来。

1.把type类型更改为varchar(),并且删除之前的测试数据 ,重新录入测试数据

2.在sql语句中 where之后的出问题的条件字段做处理where  trim(shzt)=#{shzt}

 public String   checkInit() {
        StringBuilder sql = new StringBuilder();
        sql.append("select * from TD_MPGL where trim(shzt)=5 and trim(cjstate)=0");
        return sql.toString();
    }

还有一种原因:

Oracle在插入数据时没有提交事务,PLSQL里面可以查到,项目中查不到

发布了46 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39038793/article/details/104746760