如何在ibatis框架下使用正则表达式
查了很多资料,没找到多少资料,也没理出什么头绪,求各位大牛出手相助。
需求是:需要将数据库中某一字段(字符串型)与一入参字符串进行模糊匹配,只要任意一字符相同,就匹配成功。
如: “1,2,3,4” 与 “1_3_4"就是可以匹配成功。
在mysql中, 用 select * from Resume_TBL where majorlabels regexp '["1_2"]'; 可以查询出结果。
但在ibatis中这样配置
<isNotNull prepend="AND" property="majorLabels">
<![CDATA[
majorlabels regexp '[#majorLabels#]'
]]>
</isNotNull>
总会报错
--- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '1_2' in 'where clause'
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:268)
at com.xhxkj.xsh.dao.impl.ResumeDaoImpl.getRowCount(ResumeDaoImpl.java:78)
at com.xhxkj.xsh.service.impl.ResumeServiceImpl.getRowCount(ResumeServiceImpl.java:52)
at com.xhxkj.xsh.web.WebServerInterfaceImpl.getResumeList(WebServerInterfaceImpl.java:750)
... 30 more