首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

小白!service怎么从DAO中获取sql语句查询到的信息

2013-12-04 
小白求助!service如何从DAO中获取sql语句查询到的信息DAO我是这么写的public void check(Connection conne

小白求助!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());
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;//返回值
}


上面代码 没法测 对应的改改

热点排行