日期:2014-05-18  浏览次数:20929 次

小白求助!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"));
}

------解决方案--------------------
看你想要返回什么类型了,可以把数据放到UserPO类,也可以放到List面
如果放的UserPO里


service类

   public UserPO   check(Connection conn,UserPO user){
      return userDAO.check(conn,user);
  }



DAO类
返回类型要改UserPO

   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());
preparedState