<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.shdl.hterp.business.company.CompanyProductDao">
<select id="getList" resultType="companyProductBean" parameterType="companyProductBean">
select * from (
select M.*,ROWNUM RN from (
select
c.*
from product c
where deletetime is null
<if test="qm != null and qm != ''">
<!-- mybatis的模糊查询:oracle -->
<if test="qm.companyname != null and qm.companyname != ''">
AND companyname||pname like '%${qm.companyname}%'
</if>
</if>
order by companyname
)M
)N
where N.RN > #{start} and N.RN <= #{end}
</select>
<!-- 更改sql:目前会导致查询条件下出现分页不对的现象 -->
<select id="getListCount" parameterType="companyProductBean" resultType="int">
SELECT count(*) FROM product where deletetime is null
<if test="qm != null and qm != ''">
<if test="qm.companyname != null and qm.companyname != ''">
AND companyname||pname like '%${qm.companyname}%'
</if>
</if>
</select>
</mapper>
模糊查询的2中写法:
1. select * from t_table where 条件 and (companyname like '%前台传的value%' or type like '%前台传的value%')
2. 使用连接符进行字段拼接:oracle使用的是||
select * from t_table where 条件 and companyname || type like '%前台传的value%'