📄 iuserdaoimpl.java
字号:
package com.lovo.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.lovo.myutil.DBManager;
import com.lovo.po.User;
/**
* <p>IUserDao的实现类</p>
* @author fenglu
*
*/
public class IUserDaoImpl implements IUserDao
{
/* (非 Javadoc)
* @see com.lovo.dao.IUserDao#addUser(com.lovo.po.User)
*/
public boolean addUser(User user)
{
/** 存数据库连接对象 */
Connection conn = null;
/** 存预编译语句 */
PreparedStatement state = null;
/** 存查询返回结果集 */
ResultSet rs = null;
String sql = "insert into t_user(emailName, password) values(?, ?)";//添加新用户语句
/** 获取数据库连接对象 */
conn = DBManager.getConnection();
int result = -1;//存储添加用户后的返回信息
try
{
/** 创建sql的预编译语句 */
state = conn.prepareStatement(sql);
/** 为sql设置帐号名参数 */
state.setString(1, user.getEmailName());
/** 为sql设置密码参数 */
state.setString(2, user.getPassword());
/** 执行添加 */
result = state.executeUpdate();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
/** 关闭所有的数据库连接对象 */
DBManager.closeAll(conn, state, rs);
}
return result == 1 ? true : false;//返回1表添加成功,否则添加失败
}
/* (非 Javadoc)
* @see com.lovo.dao.IUserDao#checkUser(com.lovo.po.User)
*/
public User checkUser(User user)
{
/** 存数据库连接对象 */
Connection conn = null;
/** 存预编译语句 */
PreparedStatement state = null;
/** 存查询返回结果集 */
ResultSet rs = null;
String emailName = user.getEmailName();//获得待验帐号
String password = user.getPassword();//获得待验密码
User reUser = null;//保存返回的对象
boolean exist = false;//标志用户是否存在
String sql = "select userId from t_user" +
" where emailName = ? and password = ?";//查询用户id语句
/** 获取数据库连接对象 */
conn = DBManager.getConnection();
try
{
/** 创建sql的预编译语句 */
state = conn.prepareStatement(sql);
/** 为sql设置帐号名参数 */
state.setString(1, emailName);
/** 为sql设置密码参数 */
state.setString(2, password);
/** 执行查询 */
rs = state.executeQuery();
/**
* 第一次调用此方法可得知是否有匹配的帐号和密码
*/
exist = rs.next();
/**
* 如果exist为true就创建User对象并封装所有用户信息到其中
*/
if(exist)
{
/** 创建用户并封装信息 */
reUser = new User();
reUser.setUserId(rs.getInt("userId"));
reUser.setEmailName(emailName);
reUser.setPassword(password);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
/** 关闭所有的数据库连接对象 */
DBManager.closeAll(conn, state, rs);
}
return reUser;//如果产生异常返回null,当作该用户不匹配,不让登陆。
}
/* (非 Javadoc)
* @see com.lovo.dao.IUserDao#isEmailNameExist(java.lang.String)
*/
public int isEmailNameExist(String emailName)
{
/** 存数据库连接对象 */
Connection conn = null;
/** 存预编译语句 */
PreparedStatement state = null;
/** 存查询返回结果集 */
ResultSet rs = null;
int userId = -1;//表示被检测用户的userId
boolean exist = false;//标志用户是否存在
String sql = "select userId from t_user where emailName = ?";//查询帐号是否存在语句
/** 获取数据库连接对象 */
conn = DBManager.getConnection();
try
{
/** 创建sql的预编译语句 */
state = conn.prepareStatement(sql);
/** 为sql设置帐号名参数 */
state.setString(1, emailName);
/** 执行查询 */
rs = state.executeQuery();
/**
* 第一次调用此方法可得知是否有这个帐号存在,
* 为false这个帐号不存在,
* true表示这个帐号已经有人使用
*/
exist = rs.next();
/**
* 如果exist为true那么获得他的userId
*/
if(exist)
{
userId = rs.getInt("userId");
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
/** 关闭所有的数据库连接对象 */
DBManager.closeAll(conn, state, rs);
}
return userId;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -