小白求助!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