SQL映射文件详情

SQL映射文件通常是指在使用ORM(对象关系映射)框架时定义的XML或者注解配置文件,用于将数据库表和Java对象之间的映射关系描述清楚

MyBatis框架的条件查询可以使用以下几种方式:

  1. 使用<if>元素:在SQL语句中通过<if>元素根据条件动态拼接SQL语句,实现条件查询。

  2. 使用<where>元素:<where>元素可以自动去除SQL语句中不必要的WHERE子句,并根据条件动态拼接WHERE子句,简化条件查询的编写。

  3. 使用<choose>、<when>、<otherwise>元素:这些元素组合可以实现类似Java中的switch-case语句的功能,根据不同的条件拼接不同的SQL语句。

  4. 使用动态SQL标签:MyBatis提供了一系列动态SQL标签,如<if>、<choose>、<when>等,可以根据条件动态拼接SQL语句,实现条件查询。

  5. 使用<foreach>元素:当需要对一个集合进行遍历并在SQL中使用遍历结果时,可以使用<foreach>元素来实现条件查询。

这些方式都可以根据不同的条件动态生成SQL语句,实现灵活的条件查询功能。

实现多条件查询

1.将查询条件封装成java对象作为入参

/**
 * 查询用户列表
 */
public List<SysUser> getUserListByPojo(SysUser sysUser);

2.将查询条件封装成Map对象作为入参

/**
 * 查询用户列表
 */
public List<SysUser> getUserListByMap(Map<String,Object> userMap);

3.使用@Param注解实现多参数入参

/**
 * 查询用户列表
 */
public List<SysUser> getUserListByParams(@Param("realName") String realName,@Param("roleId") int roleId);

MyBatis框架结果映射

MyBatis框架中的结果映射指的是将数据库查询结果映射到Java对象的过程。通过配置XML或注解,可以指定如何将查询结果的列映射到Java对象的属性

配置结果映射:在MyBatis的映射文件中,配置如何将数据库查询结果映射到Java对象的属性。可以通过XML中的<resultMap>元素或者注解的方式进行配置。例如:

<resultMap id="userResultMap" type="User">
    <id property="id" column="id" />
    <result property="username" column="username" />
    <result property="password" column="password" />
</resultMap>

MyBatis框架增删改操作

接口

/**
 * 添加角色
 */
public int add(SysRole sysRole);
/**
 * 根据角色id修改角色信息
 */
public int update(SysRole sysRole);
/**
 * 根据角色名称查询角色信息列表
 */
public List<SysRole> getSysRoleList(String roleName);
/**
 * 根据角色id删除角色信息
 */
public int deleteSys(@Param("id")Integer id);

映射文件

<?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.bdqn.mapper.SysRoleMapper">
    <!--添加-->
    <insert id="add" parameterType="com.bdqn.pojo.SysRole">
        insert into t_sys_role(code,roleName,createdUserId,createdTime)
        values (#{code},#{roleName},#{createdUserId},#{createdTime})
    </insert>
    <!--修改-->
    <update id="update" parameterType="sysRole">
        update t_sys_role set code=#{code},roleName=#{roleName},updatedUserId=#{updatedUserId},updatedTime=#{updatedTime} where id=#{id}
    </update>
    <!--查询-->
    <select id="getSysRoleList" resultType="sysRole">
        select * from t_sys_role where roleName like concat('%',#{roleName},'%')
    </select>
    <!--删除-->
    <delete id="deleteSys" parameterType="integer">
        delete from t_sys_role where id=#{id}
    </delete>
</mapper>

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值