public User getUserByUserName(String username) { Connection con = null; PreparedStatement pre = null; ResultSet resultSet = null; try { con = DBUtils.getConnection(); String sql = "select * from tb_user where username = ?"; pre = con.prepareStatement(sql); pre.setString(1, username); resultSet = pre.executeQuery(); while (resultSet.next()) { Integer userId = resultSet.getInt("user_id"); Byte userType = resultSet.getByte("user_type"); Byte state = resultSet.getByte("state"); Date createTime = resultSet.getDate("create_time"); Date updateTime = resultSet.getDate("update_time"); String password = resultSet.getString("password"); User user = new User(); user.setUserId(userId); user.setUserType(userType); user.setPassword(password); user.setUsername(username); user.setState(state); user.setCreateTime(createTime); user.setUpdateTime(updateTime); return user; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtils.closeConnection(con, pre, resultSet); } return null; } }
时间: 2024-04-05 08:35:24 浏览: 109
这段代码是一个 Java 方法,用于根据用户名查询数据库中的用户信息。具体实现步骤如下:
1. 首先,通过 `DBUtils.getConnection()` 方法获取一个数据库连接对象 `con`。
2. 然后,定义一个 SQL 查询语句,使用 `PreparedStatement` 对象 `pre` 预编译 SQL 语句并设置参数。
3. 设置 SQL 语句中的参数,这里是设置用户名 `username`。
4. 执行查询并返回一个 `ResultSet` 对象 `resultSet`,该对象包含了查询结果的数据。
5. 遍历 `ResultSet` 对象 `resultSet`,将查询结果的每一行数据取出来,并将其存储到一个 `User` 对象中。
6. 返回 `User` 对象,如果查询结果为空,则返回 `null`。
7. 关闭数据库连接。
总体来说,这个方法的作用是根据给定的用户名查询数据库中的用户信息,并将其封装到一个 `User` 对象中返回。如果没有查询到任何结果,则返回 `null`。
相关问题
public void deleteCourse(String isbn) { Connection con = null; PreparedStatement pre = null; ResultSet resultSet = null; try { con = DBUtils.getConnection(); String sql = "delete from td_courses where isbn = ?"; pre = con.prepareStatement(sql); pre.setString(1, isbn); pre.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtils.closeConnection(con, pre, resultSet); } }
这段代码是用来删除数据库中指定ISBN号的课程信息。它接受一个字符串类型的参数isbn,表示要删除的课程的ISBN号。首先,它通过DBUtils工具类获取数据库连接对象,然后构建一个带有参数的SQL删除语句,将isbn参数传入预编译的SQL语句中。接着,它调用PreparedStatement对象的execute()方法来执行SQL语句,从而删除指定的课程信息。最后,它使用try-catch-finally语句块来处理异常,并在finally中关闭数据库连接、预编译语句对象和结果集对象,以释放资源。如果执行SQL语句过程中发生异常,则打印异常信息。
public class UserDao { public User getUserByUserNameAndPassword(String username, String password) { Connection con = null; PreparedStatement pre = null; ResultSet resultSet = null; try { con = DBUtils.getConnection(); String sql = "select * from tb_user where username = ? and password = ?"; pre = con.prepareStatement(sql); pre.setString(1, username); pre.setString(2, password); resultSet = pre.executeQuery(); while (resultSet.next()) { Integer userId = resultSet.getInt("user_id"); Byte userType = resultSet.getByte("user_type"); Byte state = resultSet.getByte("state"); Date createTime = resultSet.getDate("create_time"); Date updateTime = resultSet.getDate("update_time"); String displayName = resultSet.getString("display_name"); User user = new User(); user.setUserId(userId); user.setUserType(userType); user.setPassword(password); user.setUsername(username); user.setState(state); user.setDisplayName(displayName); user.setCreateTime(createTime); user.setUpdateTime(updateTime); return user; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtils.closeConnection(con, pre, resultSet); } return null; }
这段代码是一个名为UserDao的类,其中包含了一个方法:getUserByUserNameAndPassword。该方法接受两个字符串参数——用户名和密码,用于从数据库中获取一个User对象。该方法使用了DBUtils类来获取数据库连接和关闭连接。在方法中,首先通过传入的用户名和密码构造一个查询语句,然后通过prepareStatement方法执行查询,并将结果保存在resultSet中。接着,从resultSet中获取查询结果,并使用这些结果构造一个User对象。最后,返回该User对象。如果查询失败或者查询结果为空,则返回null。
阅读全文