当前位置: 首页 > news >正文

广州电商网站开发站长工具怎么关掉

广州电商网站开发,站长工具怎么关掉,网站选项卡如何做自适应,广东广东深圳网站建设动态SQL常用场景 批量删除delete from t_car where id in(1,2,3,4,5,6,......这里的值是动态的,根据用户选择的 id不同,值是不同的);多条件查询哪些字段会作为查询条件是不确定的,根据用户而定 select * from 1 t_car where brand like 丰田…

动态SQL常用场景

  • 批量删除
    delete from t_car where id in(1,2,3,4,5,6,......这里的值是动态的,根据用户选择的
    id不同,值是不同的);
    
  • 多条件查询
    哪些字段会作为查询条件是不确定的,根据用户而定
    select * from 1 t_car where brand like '丰田%' and guide_price > 30 and .....;
    
  1. if 标签
    List<Car> selectByMultiCondition(@Param("brand") String brand, @Param("guidePrice") Double guidePrice, @Param("carType") String carType);
    
    <select id="selectByMultiCondition" resultType="car">
    select * from t_car where
    <if test="brand != null and brand != ''">
    brand like #{brand}"%"
    </if>
    <if test="guidePrice != null and guidePrice != ''">
    and guide_price >= #{guidePrice}
    </if>
    <if test="carType != null and carType != ''">
    and car_type = #{carType}
    </if>
    </select>
    
    存在一些连接词的问题例如 and 和 or,当brand 为空时可能出现 select * from t_car where and…这种语法报错情况,所以需要结合其他 标签使用
  2. where 标签
    <select id="selectByMultiConditionWithWhere" resultType="car">
    select * from t_car
    <where>
    <if test="brand != null and brand != ''">
    and brand like #{brand}"%"
    </if>
    <if test="guidePrice != null and guidePrice != ''">
    and guide_price >= #{guidePrice}
    </if>
    <if test="carType != null and carType != ''">
    and car_type = #{carType}
    </if>
    </where>
    </select>
    
    解决了if 标签存在的一些问题,where标签的作用:让where子句更加动态智能。
    所有条件都为空时,where标签保证不会生成where子句。
    自动去除某些条件前面多余的and或or,注意后面的 and 和 or 是不会被去除的
  3. trim 标签
    trim标签的属性:
    • prefix:在 SQL 语句的开头添加指定的前缀。
    • suffix:在 SQL 语句的结尾添加指定的后缀。
    • prefixOverrides:去掉 SQL 语句开头的指定前缀。
    • suffixOverrides:去掉 SQL 语句结尾的指定后缀。
    <select id="selectByMultiConditionWithTrim" resultType="car">
    select * from t_car
    <trim prefix="where" suffixOverrides="and|or">
    <if test="brand != null and brand != ''">
    brand like #{brand}"%" and
    </if>
    <if test="guidePrice != null and guidePrice != ''">
    guide_price >= #{guidePrice} and
    </if>
    <if test="carType != null and carType != ''">
    car_type = #{carType}
    </if>
    </trim>
    </select>
    
    所有条件为空时,不会添加前缀,比where标签更加灵活,可以去除结尾的连接词
  4. set标签
    主要使用在update语句当中,用来生成set关键字,同时去掉最后多余的“,”
    int updateWithSet(Car car);
    
    <update id="updateWithSet">
    update t_car
    <set>
    <if test="carNum != null and carNum != ''">car_num = #{carNum},</if>
    <if test="brand != null and brand != ''">brand = #{brand},</if>
    <if test="guidePrice != null and guidePrice != ''">guide_price = #{gui
    dePrice},</if>
    <if test="produceTime != null and produceTime != ''">produce_time = #
    {produceTime},</if>
    <if test="carType != null and carType != ''">car_type = #{carType},</i
    f>
    </set>
    where id = #{id}
    </update>
    
  5. choose when otherwise
    这三个标签是一起使用的,类似于 if else 嵌套选择
    <select id="selectWithChoose" resultType="car">
    select * from t_car
    <where>
    <choose>
    <when test="brand != null and brand != ''">
    brand like #{brand}"%"
    </when>
    <when test="guidePrice != null and guidePrice != ''">
    guide_price >= #{guidePrice}
    </when>
    <otherwise>
    produce_time >= #{produceTime}
    </otherwise>
    </choose>
    </where>
    </select>
    
  6. foreach 标签
    循环数组或集合,动态生成sql,比如这样的SQL:
    • 用 in 实现批量删除
      int deleteBatchByForeach(@Param("ids") Long[] ids);
      
      <!--
      collection:集合或数组
      item:集合或数组中的元素
      separator:分隔符,最后一个不会加上分隔符
      open:foreach标签中所有内容的开始
      close:foreach标签中所有内容的结束
      -->
      <delete id="deleteBatchByForeach">
      delete from t_car where id in
      <foreach collection="ids" item="id" separator="," open= "("   close=  ")"  >
      #{id}
      </foreach>
      </delete>
      
    • 用 or 实现批量删除
      <delete id="deleteBatchByForeach2">
      delete from t_car where
      <foreach collection="ids" item="id" separator="or">
      id = #{id}
      </foreach>
      </delete>
      
    • 批量添加
      int insertBatchByForeach(@Param("cars") List<Car> cars);
      
      <insert id="insertBatchByForeach">
      insert into t_car values
      <foreach collection="cars" item="car" separator=",">
      (null,#{car.carNum},#{car.brand},#{car.guidePrice},#{car.produceTime},#
      {car.carType})
      </foreach>
      </insert>
      
  7. sql标签与include标签
    sql标签用来声明sql片段
    include标签用来将声明的sql片段包含到某个sql语句当中
    作用:代码复用。易维护。
    <sql id="carCols">id,car_num carNum,brand,guide_price guidePrice,produce_t
    ime produceTime,car_type carType</sql>
    <select id="selectAllRetMap" resultType="map">
    select <include refid="carCols"/> from t_car
    </select>
    <select id="selectAllRetListMap" resultType="map">
    select <include refid="carCols"/> carType from t_car
    </select>
    <select id="selectByIdRetMap" resultType="map">
    select <include refid="carCols"/> from t_car where id = #{id}
    </select>
    
http://www.hkea.cn/news/860271/

相关文章:

  • 淘宝优惠券怎么做网站网络服务提供商
  • 哪里有网站建设电话查排名官网
  • 做网站需要准备的工具网络营销方案模板
  • 科技未来网站建设百度推广开户公司
  • 十度网站建设保定网站推广公司
  • php可以做视频网站有哪些软文推广渠道主要有
  • 成都网站建设桔子科技淘宝付费推广有几种方式
  • 福田的网站建设公司网络营销成功案例ppt免费
  • 网站建设英文专业术语百度推广网址
  • 做网站之前需要准备什么企业网络营销策划案
  • dreamweaver动态网站开发与设计教程内容怎么在百度上面打广告
  • 济南网站搜索优化深圳网络推广招聘
  • 网站 色彩武汉it培训机构排名前十
  • 怎么做资源网站网络培训中心
  • 服装品牌网站建设营销网站建设选择原则
  • 乌鲁木齐新市网站建设有哪些网络营销公司
  • 网站的后台怎么做企业网络规划设计方案
  • 做网站文字字号大小企业网站设计要求
  • ae有么有做gif的网站品牌推广方案范文
  • apicloud官网下载seo关键词优化排名公司
  • 上海网站制作福州百度关键字优化精灵
  • 做uml图网站百度账号快速注册入口
  • 广西梧州南京 seo 价格
  • 网站警察备案seo关键词优化平台
  • 网站开发设计实训 报告惠州网站建设
  • 网站开发的原理山西免费网站关键词优化排名
  • 石家庄网站建设全包免费推广网站2024
  • 阿里云网站备案时间无锡seo网站管理
  • 景点介绍网站模板重庆百度关键词推广
  • 做亚马逊网站费用吗曲靖新闻今日头条