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

西安建设工程中心交易网站外围网站怎么做

西安建设工程中心交易网站,外围网站怎么做,网络营销推广的三斧,虚拟服务器搭建公司项目中一直使用Mybatis作为持久层框架#xff0c;自然#xff0c;动态sql写得也比较多了#xff0c;最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了。Mybatis的强大特性之一便是它的动态sql#xff0c;免除了拼接sql带来的各种麻烦#xff0c;在开发项目…     公司项目中一直使用Mybatis作为持久层框架自然动态sql写得也比较多了最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了。Mybatis的强大特性之一便是它的动态sql免除了拼接sql带来的各种麻烦在开发项目的过程中常见的和不常见的你都有可能会用到现在就来把这一块总结一下。   if   choose(when,otherwise)  trim(where,set)  foreachif select idgetCategory parameterTypeEshopShopCategory resultMapEshopCategory SELECT * from MALLT_SHOP_CATEGORY t WHERE (11)if testeshopShopCategory.shopCategoryId!nullAND t.shop_category_id #{eshopShopCategory.shopCategoryId} /if if testeshopShopCategory.shopCategoryName!null AND t.SHOP_CATEGORY_NAME like %${eshopShopCategory.shopCategoryName}% /if if testeshopShopCategory.shopIdnull AND t.shop_id0 /if ORDER BY SEQUENCE_NO /select   这通常用于多条件组合查询。 insert idaddProductCategory parameterTypeEshopShopCategoryinsert into MALLT_SHOP_CATEGORY(if testshopCategoryName!null and shopCategoryName! shop_category_name,/ifif testshopId!null and shopId! shop_id, /if ADD_TIME) values(   if testshopCategoryName!null and shopCategoryName!   #{shopCategoryName,jdbcTypeVARCHAR},   /if   if testshopId!null and shopId!   #{shopId,jdbcTypeNUMERIC},   /if   current_timestamp ) /insert 这适用于数据库有默认值的时候可以不让插入空值。 update idupdateProductCategory parameterTypeEshopShopCategory update MALLT_SHOP_CATEGORY t set if testshopCategoryName!nullt.shop_category_name#{shopCategoryName,jdbcTypeVARCHAR},/ifif testupdateUser!nullt.update_user#{updateUser,jdbcTypeVARCHAR} ,/ift.update_timecurrent_timestampwhere t.shop_category_id#{shopCategoryId,jdbcTypeNUMERIC} /update 这条动态地修改语句用得非常多是因为很多时候我们在做修改操作时并不确定到底要修改哪些字段哪些属性可能有的需要保存原值不变这时候就可以做动态的sql你新建一个对象后将需要修改的字段附上新值这样不用修改的属性在这个对象上表现地是null调用这个动态的sql时便可以完成部分修改。 choose,when,otherwise       适用场景我们不想用到所有的条件语句而只想从中择其一二。针对这种情况MyBatis 提供了 choose 元素它有点像 Java 中的 switch 语句。我感觉它有点像提供多种条件规则时而这些规则又可以综合写在一起时 select idfindActiveBlogLike resultTypeBlogSELECT * FROM BLOG WHERE state ‘ACTIVE’choosewhen testtitle ! nullAND title like #{title}/whenwhen testauthor ! null and author.name ! nullAND author_name like #{author.name}/whenotherwise AND featured 1 /otherwise /choose /select 到目前为止我还没有用到过choose以后多留意。 trim,where,set 为了避免当if动态条件都不成立时或者第一个条件不成立第二个条件成立时出现诸如select * from TableA where或者select * from TableA and where病态sql我们可以使用trim,where,set标签来解决。 select idfindActiveBlogLike resultTypeBlogSELECT * FROM BLOG where if teststate ! null state #{state} /if if testtitle ! null AND title like #{title} /if if testauthor ! null and author.name ! null AND author_name like #{author.name} /if /where /select 在实际应用中我通常是不写where标签而在where关键字之后加上11的条件。即不管有无动态条件总可以得到完整的sqlselect * from A where 11。。。 update idupdateAuthorIfNecessaryupdate Authorsetif testusername ! nullusername#{username},/ifif testpassword ! nullpassword#{password},/ifif testemail ! nullemail#{email},/if if testbio ! nullbio#{bio}/if /set where id#{id} /update foreach foreach有时候在项目中会遇到而且不止一次用的时候是需要动点脑子的。通常用于筛选出在多个值组成的一个集合中或者排除多个值的场景说白了也就是我们之前写sql时用到in、not in的时候集合是动态不确定的需要从前台传值过来 select idselectNumInOrder resultTypeStringselect count(0) from eshop_order a left join eshop_order_item b on a.ORDER_ID b.ORDER_IDwhere a.STATUS in (1,2,3,5) if testlist.size() 0and b.PHONE_NUM in foreach itemnumberList collectionlist open( separator, close) #{numberList.num} /foreach /if /select select idselectPostIn resultTypedomain.blog.PostSELECT *FROM POST PWHERE ID inforeach itemitem indexindex collectionlistopen( separator, close)#{item}/foreach /select foreach 元素的功能是非常强大的它允许你指定一个集合声明可以用在元素体内的集合项和索引变量。它也允许你指定开闭匹配的字符串以及在迭代中间放置分隔符。这个元素是很智能的因此它不会偶然地附加多余的分隔符。 注意 你可以将一个 List 实例或者数组作为参数对象传给 MyBatis当你这么做的时候MyBatis 会自动将它包装在一个 Map 中并以名称为键。List 实例将会以“list”作为键而数组实例的键将是“array”。 以上是结合http://mybatis.github.io/mybatis-3/zh/getting-started.html及自己开发中比较常用的总结出来的今天给梳理一下分享给大家 行走在设计师的路上 http://www.cnblogs.com/yolanda-lee/p/4552514.html
http://www.huolong8.cn/news/279314/

相关文章:

  • 网站建设与运营 市场分析电子商务网页设计与网站建设
  • 网站检测报告那里做wordpress邮件验证评论
  • 网站开发研究生公司做网站的目的
  • 网站建设有云端吗网站分站开发计划书
  • 网站建设 中软如何推广自己的外贸网站
  • wordpress应用市场主体seo描述是写什么
  • 做网站合肥响应式企业官网
  • 简述建设iis网站的基本过程6深圳品牌包装设计公司
  • 用什么做网站最好新手怎么开网店
  • 网站建设如何敲图标代码嘉兴市做外贸网站
  • 相亲网站开发与设计报告厦门建设网站首页
  • 青岛网站建设方案服务山西建设厅网站首页
  • 高端品牌建站wordpress getoption
  • 有没有什么做高数的网站鞍山58同城找工作 招聘
  • wordpress发送密码到邮箱优化防疫二十条措施
  • 辽宁建设科技信息网网站怎么做全网小说网站
  • 云南省网站建设收费调查报告论文台州网站注册 公司
  • 传媒的域名做个什么网站惠州百度seo哪里强
  • 网上商城网站开发报告平面设计大师
  • 便捷的网站建设景观网站设计网站
  • 广州网站建设 中网科技网站推广做那个较好呢
  • 广州网站优化指导免备案网站怎么备案域名
  • 网站301重定向 权重转移西安高端网页制作
  • 国际网站推广专员招聘wordpress 8080端口
  • 做电影网站如何不侵权vps怎么做网站
  • 网站空间在哪里吉林市城市建设学校网站
  • 中国建设银行贵州省分行网站2024年新闻摘抄十条
  • 查询公司的网站备案电子商务网站设计与规划
  • 网站建设方案规划书wordpress下载网站模板怎么用
  • 做美食哪些类型网站手机网站后台管理