做项目在阿里云测试好好的 

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

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}||‘%’

java.sql.SQLSyntaxErrorException: ORA-00904: "**": 标识符无效_云测试

尝试改为:

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

 

 

还是有问题  

 

在阿里云服务器上都可以 

 

最终发现了原因: 

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

巨坑啊,浪费了大把时间