Mybatis 数据库表增删改查

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 != ''" >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值