最近使用Oracle数据库,搞得一脸懵逼,想哭???????
sql语句是这样写的
<select id="selectConnectInfoAll" resultType="com.ahgj.integrity.canal.bean.dao.PortBaseDao"> SELECT * FROM C_PORT_BASE WHERE <if test="deleteFlag != null and deleteFlag !=''"> DELETE_FLAG=#{deleteFlag,jdbcType=VARCHAR} </if> </select>
但是启动一直报imybatis ReflectionException: There is no getter错误,找半天看了这位仁兄的博文
https://blog.csdn.net/qq_34491508/article/details/83536144
才知道是传递基本数据类型的时候,可以给参数取任意的名字,
如此处可以用#{id}, #{abc}, #{xxx}都可以。
但是当使用<if>判断 test 条件的时候,就需要使用_parameter 作为参数名,如:
<select id="selectConnectInfoAll" resultType="com.ahgj.integrity.canal.bean.dao.PortBaseDao"> SELECT * FROM C_PORT_BASE WHERE <if test="_parameter != null and _parameter !=''"> DELETE_FLAG=#{deleteFlag,jdbcType=VARCHAR} </if> </select>
太坑爹了..