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

阜新小程序 阜新网站建设开发中企动力z邮局登录

阜新小程序 阜新网站建设开发,中企动力z邮局登录,手机网站建设网站报价,wordpress默认用某一号字体之前的例子都巧妙地避开了一个臭名昭著的动态SQL挑战。考虑一下如果我们回到之前的“if”例子&#xff0c;但这次我们将“ACTIVE 1”也作为一个动态条件。 <select id"findActiveBlogLike"resultType"Blog">SELECT * FROM BLOGWHERE<if test&qu…

之前的例子都巧妙地避开了一个臭名昭著的动态SQL挑战。考虑一下如果我们回到之前的“if”例子,但这次我们将“ACTIVE = 1”也作为一个动态条件。

<select id="findActiveBlogLike"resultType="Blog">SELECT * FROM BLOGWHERE<if test="state != null">state = #{state}</if><if test="title != null">AND title like #{title}</if><if test="author != null and author.name != null">AND author_name like #{author.name}</if>
</select>

如果没有满足任何条件,会发生什么?你最终会得到类似于下面的SQL语句:

SELECT * FROM BLOG
WHERE

如果只有第二个条件满足,最终的SQL语句将如下所示:

SELECT * FROM BLOG
WHERE
AND title like ‘someTitle’

这也会失败。这个问题不容易通过条件语句解决,如果你曾经不得不写过它,那么你很可能再也不想这样做了。

MyBatis 在大多数情况下有一个简单的答案,可能在 90% 的情况下都能起作用。而在它无法满足要求的情况下,你可以自定义它来达到目的。只需要一个简单的改变,一切都会正常工作:

<select id="findActiveBlogLike"resultType="Blog">SELECT * FROM BLOG<where><if test="state != null">state = #{state}</if><if test="title != null">AND title like #{title}</if><if test="author != null and author.name != null">AND author_name like #{author.name}</if></where>
</select>

如果 ​<where>​元素中的嵌套标签返回任何内容,它会知道只在查询条件非空时插入 "WHERE" 关键字。此外,如果条件的内容以 "AND" 或 "OR" 开头,它会自动去掉这些关键字。

如果`<where>`元素的行为不符合您的要求,您可以通过定义自己的`<trim>`元素来进行自定义。例如,与`<where>`元素相对应的`<trim>`元素可以是:

<trim prefix="WHERE" prefixOverrides="AND |OR ">...
</trim>

​<trim>​元素的 ​prefixOverrides​属性接受一个使用管道符分隔的文本列表,其中空格是有关的。结果是删除 ​prefixOverrides​属性中指定的内容,并插入 ​prefix​属性中指定的内容。

对于动态更新语句,也有一个类似的解决方案,称为`<set>`元素。`<set>`元素可以用于动态包含要更新的列,以及排除其他列。例如:

<update id="updateAuthorIfNecessary">update Author<set><if test="username != null">username=#{username},</if><if test="password != null">password=#{password},</if><if test="email != null">email=#{email},</if><if test="bio != null">bio=#{bio}</if></set>where id=#{id}
</update>

在这个例子中,​<set>​元素将动态添加 "SET" 关键字,并且在应用条件后消除任何多余的逗号。

另外,您也可以通过使用`<trim>`元素来实现相同的效果:

<trim prefix="SET" suffixOverrides=",">...
</trim>

请注意,在这种情况下,我们覆盖的是后缀,而仍然附加前缀。

http://www.yayakq.cn/news/670903/

相关文章:

  • 网站建设存在困难企业网站建设方案怎么写
  • 西安建站公司模板网站后台策划
  • 做衣服视频有些什么网站池州集团网站建设
  • 沧州专业网站建设公司展馆设计网站
  • 怎么制作博客网站教育技术专业网站开发课程
  • 东莞网站建设咨询公个人网站设计模板田田田田田田田田
  • 连云港市建设银行网站办公空间设计经典案例
  • 苏州高端网站建设公司哪家好网站建设 首选百川互动
  • 电子商务网站建设与管理a卷答案海南省建设集团有限公司
  • 龙元建设集团股份有限公司网站地址网站制作设计报价
  • 网站建设中html 下载秦洁婷seo博客
  • 百度网站怎么申请注册wordpress 4.
  • 51购物网官方网站怎么删除wordpress插件
  • 做公众号首图的设计网站做商城网站的风险
  • seo搜索引擎优化薪资水平魔贝课凡seo课程好吗
  • 衡水建设网站必分享 wordpress主题
  • 网站建设实训心得广告设计公司装修案例
  • 深圳网站设计首选刻北京网站优化和推广
  • 网站建设dede模板免费网站建设的主题
  • 免费行情软件app网站大全下载免费入口企业网站建设如何选择网络公司
  • 郑州公司注册网上核名深圳债务优化
  • 山东省住房城乡建设部网站旅游攻略的网站怎么做
  • wordpress 多站点主题电影vip免费网站怎么做的
  • 登录建设厅网站的是企业锁吗百度关键词排名神器
  • 简单企业网站建设普宁建设局网站
  • 网站建设论文基础摘要网站建设公司汉狮网络
  • 阿里云成功备案的网站增加域名主机做网站服务器吗
  • 阿里云服务器配置网站推软件
  • 正能量网站入口价格低用什么词形容
  • 宁波建设网站公众号关注请人做网站需要多少钱