SQL 注释 书写


在Transact-SQL 中可使用两类注释符。 
1、ANSI 标准的注释符“--” 用于单行注释; 
2、与C语言相同的程序注释符号,即“”。“”用于注释文字的结尾,可在程序中标识多行文字为注释。
### MyBatis中SQL语句注释方式 在MyBatis中添加SQL注释需要注意特定的方式以防止干扰到SQL解析过程。对于普通的静态SQL部分,可以采用`<!----->`的形式来书写注释[^2]。 当涉及到动态SQL组件时,情况变得复杂一些。如果是在`<where>`这样的标签内部加入注释,则可能引起MyBatis误解这些注释为查询条件的一部分,进而影响最终生成的SQL逻辑[^3]。 为了确保不会出现问题,在编写涉及`${}`或`#{}`占位符以及动态结构(比如`<if>`, `<choose>`, `<when>`, `<otherwise>`, `<trim>`, `<set>`, `<foreach>`等)的SQL片段时,应避免使用标准的SQL注释语法如`--`或者`/*...*/`,而推荐利用HTML风格的注释标记即`<!-- -->`[^1]。 另外一种场景下,可以通过自定义拦截器(Interceptor)的方式来向每条执行的SQL之前附加统一格式的信息作为注释,这通常用于追踪目的或是满足某些数据库管理需求[^5]。 ```xml <select id="exampleSelect" parameterType="map" resultType="Example"> <!-- 这是一个安全的单行注释 --> SELECT * FROM example_table et </select> ``` ```java public class SqlCommentInterceptor implements Interceptor { @Override public Object intercept(Invocation invocation) throws Throwable { MappedStatement ms = (MappedStatement)invocation.getArgs()[0]; BoundSql boundSql = ms.getBoundSql(invocation.getArgs()[1]); String sql = "<!-- Custom Comment Here --> " + boundSql.getSql(); // 更新后的SQL... } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值