MyBatisSqlUtils
大约 2 分钟
MyBatis SQL 工具类,快速生成 sql 语句。
appendInSql 方法
拼接 in sql 到 sqlConText 中。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| sqlConText | sqlContext | sql 语句上下文,会将新的 sql 语句拼接在 sqlConText 后面 |
| valueListSize | int | in 查询的值集合的长度,要确保这个集合是一个有序的集合或者数组。这个值不能 小于 1,否则会抛出异常 |
| paramName | String | 参数的名字,也就是 @Param 注解的值。切记这个字段不要接受外部值,防止出现 SQL 注入。 |
示例:
MyBatisSqlUtils.appendInSql(sqlContext, 2, "ids");
// 拼接出的 SQL:
// IN (#{ids[0]}, #{ids[1]})getInSql 方法
获取一个 in sql
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| valueListSize | int | in 查询的值集合的长度,要确保这个集合是一个有序的集合或者数组。这个值不能 小于 1,否则会抛出异常 |
| paramName | String | 参数的名字,也就是 @Param 注解的值。切记这个字段不要接受外部值,防止出现 SQL 注入。 |
返回值
一个 IN SQL,例如:IN (#{ids[0]}, #{ids[1]})
示例:
String sql = MyBatisSqlUtils.getInSql(2, "ids");
// 拼接出的 SQL:
// IN (#{ids[0]}, #{ids[1]})appendInSqlXml 方法
拼接 IN 子句的 XML 格式到给定的 sqlConText 中。支持 SET 集合。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
sqlContext | StringBuilder | SQL 语句上下文,会将新的 SQL 语句拼接在此对象后面。 |
paramName | String | 参数的名字,也就是 @Param 注解的值。切记这个字段不要接受外部值,防止出现 SQL 注入。 |
返回值
一个 IN 子句的 XML 格式字符串。
示例:
MyBatisSqlUtils.appendInSqlXml(sqlContext, "ids");
// 拼接出的 SQL:
// IN
// <foreach collection="ids" item="item" open="(" separator="," close=")">
// #{item}
// </foreach>getInSqlXml 方法
描述
获取 IN 子句的 XML 格式。支持 SET 集合。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
paramName | String | 参数的名字,也就是 @Param 注解的值。切记这个字段不要接受外部值,防止出现 SQL 注入。 |
返回值
一个 IN 子句的 XML 格式字符串。
示例:
String sql = MyBatisSqlUtils.getInSqlXml("ids");
// 拼接出的 SQL:
// IN
// <foreach collection="ids" item="item" open="(" separator="," close=")">
// #{item}
// </foreach>wrapScript 方法
描述
将 SQL 包裹在 <script> 和 </script> 标签中,适用于 MyBatis 动态 SQL。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
sqlContext | StringBuilder | SQL 语句上下文,会将新的 SQL 语句拼接在此对象前后加入 <script> 和 </script> 标签。 |
示例
StringBuilder sqlContext = new StringBuilder("SELECT * FROM table WHERE id IN (1, 2)");
MyBatisSqlUtils.wrapScript(sqlContext);
// 拼接出的 SQL:
// <script>SELECT * FROM table WHERE id IN (1, 2)</script>wrapScript 方法
描述
将 SQL 包裹在 <script> 和 </script> 标签中,适用于 MyBatis 动态 SQL。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
sql | String | SQL 语句上下文,会将新的 SQL 语句拼接在此对象前后加入 <script> 和 </script> 标签。 |
示例
String sql = MyBatisSqlUtils.wrapScript("SELECT * FROM table WHERE id IN (1, 2)");
// 拼接出的 SQL:
// <script>SELECT * FROM table WHERE id IN (1, 2)</script>