一、展示层
- 注册:在register.jsp提交注册信息,保存到数据库。
- 登录:在login.jsp提交登录信息,在数据库中查下有没这条数据。
二、数据访问层
- 增加:发送sql语句,返回有多少条增加操作成功后直接关闭连接。
- 查询:发送sql语句,返回ResultSet对象,要对ResultSet对象处理完成后才能关闭。
三、业务逻辑层
- 注册:判断executeUpdate()方法返回的数值是否大于0,大于0则注册成功,否则注册失败。
- 登录:判断对executeQuery()方法返回对象处理后的数值是否大于0,大于0则登录成功,否则登录失败。
关键代码
package org.news.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.news.dao.BaseDao;
import org.news.dao.NewsUserDao;
import org.news.entity.NewsUser;
public class NewsUserImpl extends BaseDao implements NewsUserDao {
@Override
public int findUser(NewsUser newsUser) {
int num=0;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = this.getConnection();
String sql = "SELECT * FROM news_users WHERE uname=? AND upwd=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newsUser.getUname());
pstmt.setString(2, newsUser.getUpwd());
rs = pstmt.executeQuery();
if (rs.next()) {
num=1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
this.closeAll(conn, pstmt, rs);
}
return num;
}
@Override
public int insert(NewsUser newsUser) {
int result = 0;
try {
String sql = "INSERT INTO `NEWS_USERS`(`uname`, `upwd`) VALUES(?, ?)";
Object[] param={newsUser.getUname(),newsUser.getUpwd()};
result = this.executeUpdate(sql, param);
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, null, null);
}
return result;
}
}