XML文件完成增删改查


流程:controller->service->serviceImp->dao->daoImp->sql
namespace 命名空间


      <sqlMap namespace="user">
          ······
      </sqlMap>

parameterClass :参数类,指定了参数的完整类名(包括包路径);可通过别名避免每次重复书写冗长的类名 。
resultClass :结果类。
resultMap :结果映射,结合resultMap节点对映射关系加以定义。
数据库表列名与实体类属性形成一一映射关系


      <!-- 通过<resultMap>映射实体类属性名和表的字段名对应关系 -->
      <!-- property:映射到JavaBean的属性名称;
           jdbcType:数据库表支持的类型;
           column:数据库表的列名 
      -->
      <resultMap id="···" class="···" >  
        <result property="id" jdbcType="BIGINT"  column="id" />   
      </resultMap>

insert 插入

   <!-- 
      (1)创建数据库表时指定主键自增;
      (2)在insert标签中插入selectkey标签,keyProperty是主键赋值的对象。
      -->
      <insert id=”添加实体操作Id” parameterClass=”输入参数类型”>  
             <selectkey resultClass=”int” keyProperty=”主键名称”>  
                 <!-- 使用LAST_INSERT_ID()函数来获取自动生成的主键 -->
                 SELECT LAST_INSERT_ID() AS id
             </selectkey>  
             insert into 表名(列名1……)
             values(#字段1#……);  
      </insert>

 

delete 删除


物理删除:运用delete语句将数据从数据库中删除。
逻辑删除:设定标志位,将数据库中表示删除的标志位置为“删除”状态;实际为update语句。

    <!-- 物理删除 -->
       <delete id="deleteDetails" parameterClass="···">  
            delete from
                orderitems
            where
                orderId=#orderId#
        </delete>

        <!-- 逻辑删除 -->
        <update id="delete" parameterClass="java.lang.Long">
            update t_talent_role set is_deleted = 1
            <!-- is_deleted 标志位 -->
            where id = #id# and is_deleted = 0
        </update>

update 修改


      <update id="updateByPrimaryKey" parameterClass="···">
        update t_talent_role
        set
            update_id = #updateId#,
            is_deleted = #isDeleted#
            where id = #id#
      </update>

select 查询


      <sql id="Base_Condition">
        where 1=1 
        and t.is_deleted = 0 
        <!-- isNotEmpty 属性不为空时条件存在 -->
        <isNotEmpty prepend="and" property="positionPlace"> 
            t.position_place = #positionPlace#
        </isNotEmpty>
      </sql>

      <select id="selectAll" resultClass="···" parameterClass="···">
        select *
        from t_talent_position t
          <!-- include 将常用的sql语句整理在一起,便于共用 -->
        <include refid="Base_Condition" />
      </select>

分页查询(sql部分 limit)


      <select id="query" resultMap="···" parameterClass="···">
        select
        <include refid="Base_Column_List" />
        from t_talent_candidate
        where  is_deleted = 0 and position_id = #id#
          ORDER BY CREATE_time
          limit #startIndex# , #pageSize#
      </select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值