您的位置:首页 > 编程语言 > Java开发

java.sql.SQLSyntaxErrorException: ORA-00904: "**": 标识符无效

2016-01-14 15:56 567 查看
做项目在阿里云测试好好的

但是实际发布时遇到这个问题:

java.sql.SQLSyntaxErrorException: ORA-00904: "JSBH"

Oracle的模糊查询

<!-- oracle -->
<select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">
select * from t_user where user_name like CONCAT('%',#{search_name},'%')
</select>
<!-- 或者 -->
<select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">
select * from t_user where user_name like '%'||#{search_name}||'%'
</select>

按道理说应该没问题,参考了网上很多文章 都说是逗号问题等等 但是感觉自己的情况不一样

JSBH为 查询的字段

select <include refid="attr"/> from JG_JXRWB where XN=#{xn} and XQ=#{xq} and JSBH like ‘%’||#{jsbh}||‘%’



尝试改为:

select <include refid="attr"/> from JG_JXRWB where XN=#{xn} and XQ=#{xq} and JSBH like CONCAT(CONCAT('%',#{jsbh}), '%')

还是有问题

在阿里云服务器上都可以

最终发现了原因:

其实是实际的表结构和 阿里云的有出入

巨坑啊,浪费了大把时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: