public List<Courses> getCourseByLikeISBN(String searchKey) { Connection con = null; PreparedStatement pre = null; ResultSet resultSet = null; try { con = DBUtils.getConnection(); String sql = "select * from td_courses where isbn LIKE ?"; pre = con.prepareStatement(sql); searchKey = searchKey+'%'; pre.setString(1, searchKey); resultSet = pre.executeQuery(); List<Courses> res = new ArrayList<>(); while (resultSet.next()) { String isbns = resultSet.getString("isbn"); String bookName = resultSet.getString("book_name"); String author = resultSet.getString("author"); String content = resultSet.getString("content"); String press = resultSet.getString("press"); String tname = resultSet.getString("tname"); Date pressTime = resultSet.getDate("press_time"); Courses course = new Courses(); course.setIsbn(isbns); course.setBookName(bookName); course.setAuthor(author); course.setContent(content); course.setPress(press); course.setPressTime(pressTime); course.setTname(tname); res.add(course); } return res; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtils.closeConnection(con, pre, resultSet); } return null; } }
时间: 2024-02-14 08:24:12 浏览: 63
这是一个 Java 方法,用于从数据库中根据 ISBN 模糊查询课程信息。该方法首先获取数据库连接,然后构造 SQL 语句,在查询中使用了占位符 "?",以避免 SQL 注入攻击。接着将查询关键字加上 "%",并将其设置为占位符的值,执行查询并将结果存储在一个 List 中。最后,将查询所用的连接、预处理语句和结果集关闭,返回查询结果,如果查询失败,则返回 null。
相关问题
public class CoursesDao { // 获取所有的 public List<Courses> getCourseList() { Connection con = null; PreparedStatement pre = null; ResultSet resultSet = null; List<Courses> res = new ArrayList<>(); try { con = DBUtils.getConnection(); String sql = "select * from td_courses"; pre = con.prepareStatement(sql); resultSet = pre.executeQuery(); while (resultSet.next()) { String isbn = resultSet.getString("isbn"); String bookNmae = resultSet.getString("book_name"); String content = resultSet.getString("content"); String author = resultSet.getString("author"); String press = resultSet.getString("press"); String tname = resultSet.getString("tname"); Date pressTime = resultSet.getDate("press_time"); Courses course = new Courses(); course.setIsbn(isbn); course.setBookName(bookNmae); course.setContent(content); course.setAuthor(author); course.setPress(press); course.setTname(tname); course.setPressTime(pressTime); res.add(course); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtils.closeConnection(con, pre, resultSet); } return res; }
这是一个Java类,名为CoursesDao,其中包含一个getCourseList()方法。这个方法从数据库中获取所有课程的信息,并将它们存储在一个List<Courses>对象中。在方法中,它首先获取一个数据库连接,然后通过执行一个SQL查询语句来获取课程的信息。接着,它使用一个while循环来遍历所有的结果集,并将每个课程的信息存储在一个Courses对象中。最后,它将每个Courses对象添加到一个List<Courses>对象中,并返回该对象。需要注意的是,在方法的最后,它关闭了所有的数据库连接和资源,以确保正确的释放资源。
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语句过程中发生异常,则打印异常信息。
阅读全文