项目中JDBC代码的设计:
DAO:Data Access Object 数据访问对象
将一组操作定义在一个类中
每一个独立的功能定义一个方法
User模块登录和注册:
/**保存账号信息
*@param user 账号信息
*@return int 添加记录数
*/
public int save(User user){
String sql = "INSERT INTO ajia_user(username,password,email,phone,created,updated)VALUES(?,?,?,?,?,?)";
int result = 0;
Connection conn = null;
try {
conn = JdbcUtil.getConn();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
pstmt.setString(3, user.getEmail());
pstmt.setString(4, user.getPhone());
pstmt.setTimestamp(5, user.getCreated());
pstmt.setTimestamp(6, user.getUpdated());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
JdbcUtil.close(conn);
} return result;
}
根据账号查询 验证账号是否被占用:
/**
* 根据账号查询 验证账号是否被占用
* @param userName 账号
* @return boolean 是否存在
*/
public boolean findByUserName(String userName){
String sql = "SELECT username FROM ajia_user WHERE username=?";
boolean isUsed = false;
Connection conn = null;
try {
conn = JdbcUtil.getConn();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userName);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){ isUsed = true;
} } catch (SQLException e) {
e.printStackTrace();
}finally{
JdbcUtil.close(conn);
} return isUsed;
}
网友评论