public List<User> finAll() throws Exception { List<User> list = new ArrayList<User>(); stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from user"); while (rs.next()) { User user = new User(); user.setUserId(rs.getString("UserID")); user.setUserName(rs.getString("UserName")); user.setPassWord(rs.getString("PassWord")); user.setSex(rs.getString("Sex")); user.setAddress(rs.getString("Address")); list.add(user); } return list; }
num = pstmt.executeUpdate();这样的吧
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute.方法executeQuery
用于产生单个结果集的语句,这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。方法executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。方法execute:
用于执行返回多个结果集、多个更新计数或二者组合的语句,一般不用这个方法。现在知道你的问题了吧,插入数据应该用executeUpdate。
public List<User> finAll() throws Exception {
stmt = conn.createStatement();
stmt.executeQuery("select * from user;");
}
那查询出来返回的结果集怎么存到User对象中??
public List<User> finAll() throws Exception { List<User> list = new ArrayList<User>(); stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user"); while (rs.next()) {
User user = new User();
user.setUserId(rs.getString("UserID"));
user.setUserName(rs.getString("UserName"));
user.setPassWord(rs.getString("PassWord"));
user.setSex(rs.getString("Sex"));
user.setAddress(rs.getString("Address"));
list.add(user);
} return list;
}
int类型的ID 把他强转还是 ??、
这个太基础了,楼主还是好好复习下基础知识吧。