工具类中需要string拼接
时间: 2024-06-11 13:08:36 浏览: 29
Java中的字符串拼接可以使用StringBuilder或StringBuffer类来实现。这两个类都提供了append()方法来进行字符串拼接。以下是一个示例:
```
public class StringUtil {
public static String join(String... strings) {
StringBuilder sb = new StringBuilder();
for (String s : strings) {
sb.append(s);
}
return sb.toString();
}
}
```
在上面的示例中,join()方法接收一个可变参数strings,使用StringBuilder类进行字符串拼接,并返回最终的字符串结果。使用方法如下:
```
String s = StringUtil.join("Hello", " ", "World!");
System.out.println(s); // 输出:Hello World!
```
相关问题
工具类中需要拼接一个string前缀,为了避免内存浪费该怎么写
可以使用StringBuilder来拼接字符串,避免频繁创建字符串对象造成内存浪费。例如:
```
public static String addPrefix(String prefix, String value) {
StringBuilder sb = new StringBuilder();
sb.append(prefix);
sb.append(value);
return sb.toString();
}
```
在这个例子中,我们使用StringBuilder来拼接前缀和值,并最终将其转换为字符串返回。这样可以避免在拼接过程中频繁创建字符串对象造成内存浪费的问题。
oracle 分页 count 语句拼接工具类
在Oracle中实现分页查询需要用到ROWNUM,而查询总记录数需要用到COUNT函数。我们可以使用以下工具类来实现Oracle的分页查询和总记录数查询:
```java
public class OraclePageHelper {
/**
* 获取分页SQL
*
* @param sql 原始SQL
* @param pageNo 当前页码
* @param pageSize 每页显示数量
* @return 分页SQL
*/
public static String getPageSql(String sql, int pageNo, int pageSize) {
int startRow = (pageNo - 1) * pageSize + 1;
int endRow = startRow + pageSize - 1;
StringBuilder pageSql = new StringBuilder();
pageSql.append("SELECT * FROM (SELECT A.*, ROWNUM RN FROM (");
pageSql.append(sql);
pageSql.append(") A WHERE ROWNUM <= ");
pageSql.append(endRow);
pageSql.append(") WHERE RN >= ");
pageSql.append(startRow);
return pageSql.toString();
}
/**
* 获取总记录数SQL
*
* @param sql 原始SQL
* @return 总记录数SQL
*/
public static String getCountSql(String sql) {
StringBuilder countSql = new StringBuilder();
countSql.append("SELECT COUNT(*) FROM (");
countSql.append(sql);
countSql.append(")");
return countSql.toString();
}
}
```
使用该工具类,我们可以很方便地实现Oracle的分页查询和总记录数查询。例如:
```java
// 原始SQL
String sql = "SELECT * FROM user";
// 查询第1页,每页显示10条记录
int pageNo = 1;
int pageSize = 10;
// 获取分页SQL
String pageSql = OraclePageHelper.getPageSql(sql, pageNo, pageSize);
// 获取总记录数SQL
String countSql = OraclePageHelper.getCountSql(sql);
// 查询总记录数
long total = jdbcTemplate.queryForObject(countSql, Long.class);
// 查询数据页
List<User> userList = jdbcTemplate.query(pageSql, new BeanPropertyRowMapper<>(User.class));
```
其中,jdbcTemplate是Spring框架提供的JDBC操作模板,我们可以使用它来执行SQL语句。