小白求助!service如何从DAO中获取sql语句查询到的信息
DAO我是这么写的
public void check(Connection connection,UserPO userPO) {
//
Connection conn=null;
Statement st=null;
ResultSet rs=null;
String sql2=" select * from users where username=? and pssword=?";
try {
PreparedStatement preparedStatement1=connection.prepareStatement(sql2);
preparedStatement1.setString(1, userPO.getUsername());
preparedStatement1.setString(2, userPO.getPassword());
rs=preparedStatement1.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
能不能告知一下service怎么写 谢谢!
[解决办法]
把你查询的结果封装到集合里面返回
[解决办法]
你这个方法可以返回一个boolean或者一个对象标示这个检查是否成功。service调用这个方法得到返回值,根据返回值再做响应处理
[解决办法]
查询的结果封装好,然后返回给service
[解决办法]
写一个对象,里面的属性是数据表里的字段,添加set,get方法,在这里从结果集里取出值set到对象,再返回该对象。
[解决办法]
给方法加个返回值,将查询结果放到一个list里返回
[解决办法]
申明一个Reault rs = null;
你懂的。。。
rs=preparedStatement1.executeQuery();
if(rs.next()){
newUser = new User();
newUser.setUserId(rs.getInt("userId"));
newUser.setUserName(rs.getString("userName"));
newUser.setPassWord(rs.getString("passWord"));
}
public UserPO check(Connection conn,UserPO user){
return userDAO.check(conn,user);
}
public UserPO check(Connection connection,UserPO userPO) {
//void 改为 UserPO
Connection conn=null;//这个没必要,参数不是已经传进来了吗
Statement st=null;//下面用的是PreparedStatement 要把Statement改为PreparedStatement
ResultSet rs=null;
String sql2=" select * from users where username=? and pssword=?";
UserPO user = new UserPO();//需要返回的user类
try {
PreparedStatement preparedStatement1=connection.prepareStatement(sql2);
preparedStatement1.setString(1, userPO.getUsername());
preparedStatement1.setString(2, userPO.getPassword());
rs=preparedStatement1.executeQuery();
if(rs.next()){
user.setUsername(rs.getString("username"));
....
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(rs != null) rs.close();
if(preparedStatement1 != null) preparedStatement1 .close()
}
return user;//返回值
}