JDBC工具类的封装,实现模糊查询

package utsc.java.jdbc.DBUtil.utils;

import java.sql.*;

/**
 * JDBC工具类,简化JDBC编程
 */

public class DBUtil {
    /**
     * 工具类中的构造方法都是私有的
     * 因为工具类当中的方法都是静态的,不需要new对象,直接采用类名调用
     */
    private DBUtil(){}

    //静态代码块在类加载时执行,并且只执行一次
    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取数据库连接对象
     * @return 连接对象
     * @throws SQLException
     */
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection("jdbc:mysql://localhost:3306/imooc","root","123456");
    }

    /**
     * 关闭资源
     * @param conn 连接对象
     * @param ps   数据库操作对象
     * @param rs   结果集
     */
    public static void close(Connection conn, Statement ps, ResultSet rs){
        if (rs !=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (ps !=null){
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn !=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

package utsc.java.jdbc.DBUtil;

import utsc.java.jdbc.DBUtil.utils.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 两个任务
 * 1.测试DBUtil是否好用
 * 2.模糊查询怎么写
 */

public class JDBCTest12 {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            //获取连接
            conn = DBUtil.getConnection();
            //获取预编译的数据库对象

            String sql = "select ename from emp where ename like?";
            ps = conn.prepareStatement(sql);
            ps.setString(1,"_A%");
            rs = ps.executeQuery();
            while (rs.next()){
                System.out.println(rs.getString("ename"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //释放资源
            DBUtil.close(conn,ps,rs);
        }
    }
}

使用JDBC技术实现数据查询功能。 要求: (1)创建t_users表,字段为id、name、password、email、birthday; (2)创建User类,属性与数据库的t_users表中字段一一对应,用于封装数据; (3)使用JDBC相关接口和类实现数据库中数据的查询; (4)创建Servlet程序用于接收JSP页面请求,并获取数据库中的符合查询条件的t_users表中的数据; (5)创建JSP页面,名称可自定义,用于显示查询结果; (6)创建数据库工具类实现数据库连接等的获取与释放。 使用数据库连接池C3P0及JDBC技术,并结合JSP、Servlet以及Filter等JavaWeb技术实现数据库中的学生信息数据实现增加、修改、删除、查询等操作。 【需求说明】 (1)学生信息包括:学号、姓名、性别、出生日期、所在院系、爱好、个人简介等信息; (2)分别设计: addStu.jsp、editStu.jsp和stuList.jsp用于实现用户交互; (3)分别设计:SaveStudentServlet、EditStudentServlet、DelStudentServlet和SearchStudentServlet四个Servlet程序,用于实现对学生信息数据的增加、修改、删除、查询等功能。 (4)Filter过滤器解决POST提交方式时的中文乱码问 【说明】: (1)使用Eclipse和Maven创建Web类型的项目; (2)分别设计以下JSP页面: ①main.jsp:系统首页; ②addStu.jsp:学生信息添加页面; ③editStu.jsp:学生信息修改页面; ④stuList.jsp:学生信息显示页面,该页在中包括可根据学生姓名模糊查询、修改和删除等功能; (3)配置数据库连接池
最新发布
05-25
抱歉,这是一个很长的问题,无法在这里进行详细的解答,我将为您提供一些大致的思路和步骤。 1. 创建t_users表,字段为id、name、password、email、birthday; 可以使用以下SQL语句创建表: ``` CREATE TABLE t_users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), password VARCHAR(50), email VARCHAR(50), birthday DATE ); ``` 2. 创建User类,属性与数据库的t_users表中字段一一对应,用于封装数据; 可以创建如下User类: ```java public class User { private int id; private String name; private String password; private String email; private Date birthday; // getter和setter方法省略 } ``` 3. 使用JDBC相关接口和类实现数据库中数据的查询; 可以使用JDBC相关类和接口,如Connection、Statement、ResultSet等,实现数据查询。具体步骤如下: - 加载数据库驱动程序 - 获取数据库连接 - 创建Statement对象 - 执行查询语句 - 遍历ResultSet结果集,将数据封装到User对象中 - 关闭ResultSet、Statement和Connection对象 4. 创建Servlet程序用于接收JSP页面请求,并获取数据库中的符合查询条件的t_users表中的数据; 可以创建一个Servlet,如SearchUserServlet,用于接收JSP页面发来的请求,并根据请求参数从数据库中查询符合条件的用户信息。具体步骤如下: - 获取请求参数,如查询条件 - 调用数据库工具类中的方法,查询符合条件的用户信息 - 将查询结果封装到List<User>对象中 - 将结果存储到request对象中 - 转发到JSP页面进行显示 5. 创建JSP页面,名称可自定义,用于显示查询结果; 可以创建一个JSP页面,如userList.jsp,用于显示查询结果。具体步骤如下: - 使用JSTL标签库,遍历List<User>对象,将数据显示到页面中 6. 创建数据库工具类实现数据库连接等的获取与释放。 可以创建一个数据库工具类,如DBUtil,用于获取数据库连接,以及释放数据库连接等操作。具体步骤如下: - 加载数据库驱动程序 - 获取数据库连接池对象 - 从连接池中获取连接对象 - 执行数据库操作 - 将连接对象返回到连接池中 以上是实现数据查询功能的大致步骤和思路,具体实现细节还需要您自己完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值