当前位置: 首页 > 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/191899/

相关文章:

  • 沧州网站建设制作设计优化能打开的a站
  • 石家庄网站建设推广报价怎么让百度快速收录网站
  • 建设局网站上开工日期选不了制作网站需要多少费用
  • 犬舍网站怎么做网页推广怎么做
  • 镇江核酸检测最新通知如何优化网页加载速度
  • wpf入可以做网站吗竞价托管外包费用
  • 公司设计网站需要包含什么资料优化排名软件
  • 日本樱花云服务器wan亚马逊seo关键词优化软件
  • layui框架的wordpress厦门站长优化工具
  • 微网站设计尺寸培训课程总结
  • 保险平台官网湖北搜索引擎优化
  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名