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

广州做企业网站找哪家公司好线上推广引流渠道

广州做企业网站找哪家公司好,线上推广引流渠道,wordpress08模板,网站制作 ?B?T文章目录 一、介绍二、语法三、常见示例3.1、字符串拼接3.2、动态条件处理(三元表达式)3.3、避免重复计算3.4、bind与分页查询3.5、foreach中使用bind 四、错误示例4.1、where后面跟着bind 五、总结5.1、注意事项 一、介绍 在 MyBatis 中,bind 标签允许在 OGNL 表达…

文章目录

  • 一、介绍
  • 二、语法
  • 三、常见示例
    • 3.1、字符串拼接
    • 3.2、动态条件处理(三元表达式)
    • 3.3、避免重复计算
    • 3.4、bind与分页查询
    • 3.5、foreach中使用bind
  • 四、错误示例
    • 4.1、where后面跟着bind
  • 五、总结
    • 5.1、注意事项

一、介绍

在 MyBatis 中,bind 标签允许在 OGNL 表达式上下文中创建一个变量并将其绑定到当前上下文,常用于动态 SQL 中简化复杂表达式或重复计算。

二、语法

<bind name="变量名" value="OGNL表达式"/>
  • name:变量名称,后续可直接引用。
  • value:OGNL 表达式,可以是字符串拼接、计算等操作。

三、常见示例

3.1、字符串拼接

在模糊查询中,避免直接在 SQL 中拼接 %,提升可读性:

<select id="searchUsers" resultType="User"><bind name="pattern" value="'%' + username + '%'"/>SELECT * FROM users WHERE username LIKE #{pattern}
</select>

3.2、动态条件处理(三元表达式)

结合条件判断,简化复杂逻辑:

<select id="getUsers" resultType="User"><bind name="filterName" value="name != null ? name : '%'"/>SELECT * FROM usersWHERE name LIKE #{filterName}
</select>

3.3、避免重复计算

在多次使用同一表达式时,通过 bind 复用:

<select id="calculate" resultType="double"><bind name="total" value="price * quantity"/><bind name="discounted" value="total * (1 - discount)"/>SELECT #{discounted} AS final_price
</select>

3.4、bind与分页查询

bind经常与分页查询limit一起使用,用来计算limit中的起始条数与分页数。

<select id="pageListUser" resultType="com.demo.entity.User"parameterType="java.util.List">select * from user where name = #{name}<if test="pageNo != null and pageSize != null"><bind name="pageNo" value="(pageNo-1)*pageSize"/>limit #{pageNo},#{pageSize}</if>
</select>
  • pageNo:页码、第几页
  • pageSize: 每页显示条数

3.5、foreach中使用bind

在 MyBatis 的 foreach 循环中,应避免使用 bind 来创建每个迭代的临时变量,因为 bind 的作用域是当前上下文,在循环中会被覆盖。替代方案是在 Java 代码中预处理数据,或者直接在表达式中使用循环项和索引。

若实在需要在foreach中使用bind,可以参考我的另一篇博文《mybatis foreach里用bind、foreach中使用bind的坑、foreach中动态生成表名》

四、错误示例

4.1、where后面跟着bind

网上看到有些博文写过这样的示例,bind跟在where条件后面,但这是一种错误的写法。bind 变量仅在当前语句块(如 <select><update>)内有效。

<select id="getUsersByNameAndAge" resultType="User">SELECT * FROM usersWHERE name = #{name} AND age >= <bind name="minAge" value="${minAge}" />
</select>

<bind> 必须放在 SQL 语句的最前面,不能跟在 WHERE 条件后面。

五、总结

5.1、注意事项

  • bind 变量仅在当前语句块(如 <select><update>)内有效。
  • OGNL 表达式支持 Java 语法,如三元运算符、方法调用等。
  • 优先使用 bind 而非直接拼接 SQL,以提高安全性和可维护性。

通过灵活使用 bind,可以显著提升 MyBatis 动态 SQL 的可读性和简洁性。



创作不易,欢迎打赏,你的鼓励将是我创作的最大动力。

在这里插入图片描述

http://www.hengruixuexiao.com/news/20484.html

相关文章:

  • 网站速度提升如何提交百度收录
  • 朝阳市网站公司武汉百度推广电话
  • 网站建设公司每年可以做多少个网站免费网站seo
  • 上海 食品网站设计淘宝推广运营
  • 昆山做网站的jofuns外链生成器
  • 说做网站被收债网络营销策略
  • 北京网站建设第一品牌制作网站教程
  • 旅游网站设计模版seo哪家公司好
  • 湛江网站建设保定公司免费推广有哪些
  • 仿历史网站模板百度网址查询
  • 微商运营seo公司运营
  • 武汉专业网站建设推广企业培训考试app
  • 湖南建站网站百度seo快速排名优化
  • 泰钢材企业网站源码种子搜索器
  • 专业做网站建设公司怎么样惠州seo代理
  • 教育局网站建设管理工作意见seo咨询岳阳
  • 如何查询网站是不是诈骗网站seo外包杭州
  • 青岛公司网站建设公司windows优化大师下载安装
  • 营销型网站建设方案今天刚刚最新消息2023
  • 有没有做公务员题的网站seo投放是什么意思
  • 无锡网站 app站长权重
  • 网站开发工程师课程站内营销推广途径
  • 东莞市住房和城乡建设厅网站百度竞价返点开户
  • 云南网站推广seo网站优化多少钱
  • 大宁网站制作百度经验首页登录官网
  • 创业做网站还是软件好网站404页面怎么做
  • 教人做衣服的网站搜索营销
  • 电商数据网站有哪些灰色词网站seo
  • 网站开发要源码多少钱seo优化推广软件
  • wordpress更改后台域名后无法访问网站优化推广培训