问题描述
注意:这里其实不是一个问题是记录一下
为什么在查询用户方法里面调用的query方法之后得到的结果是个List集合
上代码:
package app.uitl;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class DBUtil {
private static final Properties PROPERTIES;
private static final DataSource dataSource;
// 初始化数据库连接池
static {
PROPERTIES = new Properties();
DruidDataSource druidDataSource = new DruidDataSource();
try {
InputStream is = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
PROPERTIES.load(is);
druidDataSource.setDriverClassName(PROPERTIES.getProperty("driver"));
druidDataSource.setUsername(PROPERTIES.getProperty("user"));
druidDataSource.setPassword(PROPERTIES.getProperty("password"));
druidDataSource.setUrl(PROPERTIES.getProperty("url"));
druidDataSource.setTestWhileIdle(false);
} catch (IOException e) {
e.printStackTrace();
}
dataSource = druidDataSource;
}
// 增删改方法
private final static QueryRunner runner = new QueryRunner(dataSource);
public static int update(String sql, Object... args) {
try {
return runner.update(sql, args);
} catch (SQLException e) {
return -1;
}
}
// 查询
public static <T> List<T> queryAll(Class<T> clazz, String sql, Object... args) {
List<T> list = new ArrayList<>();
try {
return runner.query(sql, new BeanListHandler<>(clazz), args);
} catch (SQLException e) {
return List.of();
}
}
}
原因分析:
// 查询
public static <T> List<T> queryAll(Class<T> clazz, String sql, Object... args) {
List<T> list = new ArrayList<>();
try {
return runner.query(sql, new BeanListHandler<>(clazz), args);
} catch (SQLException e) {
return List.of();
}
}
哈哈哈哈哈绝了被自己蠢哭了!!!!!!!
解决方案:
!!!!!!!好了解决了!!!!!!!