关于mybatis的一些用法
resultMap 的用法
<resultMap id="唯一标识" type="映射的pojo类">
<id column = "表的主键或者主键的别名" jdbcType = "字段的类型,可以省略" property = "映射的pojo字段的名称"></id>
<result column = "表的主键或者主键的别名" jdbcType = "字段的类型,可以省略" property = "映射的pojo字段的名称"></result>
<!--一对一关系-->
<association property = "对应的上面pojo的一个属性名称" ofType = "pojo关联的jopo对象">
<id column="关联pojo对象对应表的主键字段" jdbcType="字段类型" property="关联pojo对象的主席属性"/>
<result column="任意表的字段" jdbcType="字段类型" property="关联pojo对象的属性"/>
</association>
<!--多对多关系-->
<!-- 集合中的property须为oftype定义的pojo对象的属性-->
<collection property="pojo的集合属性" ofType="集合中的pojo对象">
<id column="集合中pojo对象对应的表的主键字段" jdbcType="字段类型" property="集合中pojo对象的主键属性" />
<result column="可以为任意表的字段" jdbcType="字段类型" property="集合中的pojo对象的属性" />
</collection>
<!--如果collection标签是使用嵌套查询,格式如下:--> sourceTarget 为子查询方法的参数,id 为父查询的记录id 用于传递到子查询中作为sourceTarget 的值
<collection column="传递给嵌套查询语句的字段参数id 或者{sourceTarget=id,sourceType=cmdb_type}" property="pojo对象中集合属性" ofType="集合属性中的pojo对象" select="嵌套的查询语句" >
</collection>
</resultMap>
mybatis 中 模糊查询的使用
// 不能使用单引号
<where> <if test="params.userName != null and params.userName != ''"> AND b.username like "%"#{params.userName}"%" </if> </where>