1.用户和角色多对多的关系,为了查询用户表的同时查询出角色表,在userMapper.xml配置文件中进行上述的配置
<resultMap id="BaseResultMap" type="com.model.User" ></span>
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="type" property="type" jdbcType="INTEGER" />
<result column="descr" property="descr" jdbcType="VARCHAR" />
<result column="end_time" property="endTime" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="INTEGER" />
</resultMap>
<resultMap id="BaseResultMap1" type="com.linktech.model.User" extends="BaseResultMap">
<collection property="roles" javaType="list" ofType="com.model.Role">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="descr" property="descr" jdbcType="VARCHAR" />
<result column="type" property="type" jdbcType="INTEGER" />
</collection>
</resultMap>
2.因为已经配置过角色和用户的多表关系那么查询用户的语句如下:
<select id="getAll" resultMap="BaseResultMap1">
SELECT
se_user.id,
sr_user_role.user_id,
sr_user_role.role_id,
se_user.name,
se_user.password,
se_user.type,
se_user.descr,
se_user.end_time,
se_user.create_time,
se_role.id,
se_role.name,
se_role.descr,
se_role.type,
se_role.create_time
FROM
se_user
INNER JOIN sr_user_role ON se_user.id = sr_user_role.user_id
INNER JOIN se_role ON sr_user_role.role_id = se_role.id
</select>
3.根据用户表进行多参数查询:
<select id="selectList" parameterType="com.dao.User" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from se_action
where 1=1
<if test="name != null and name != ''">
AND name = #{name,jdbcType=VARCHAR}
</if>
<if test="descr != null and descr != ''">
AND descr = #{descr,jdbcType=VARCHAR}
</if>
</select>
查询表数据时如果为空则不过滤该条件,使用以下判断:<if test="id != null and id != ''" >
Mybatis 数据库表增删改查
最新推荐文章于 2019-10-25 20:00:12 发布