Java连接数据库的基本方法

Java可以通过各种方式连接数据库,其中一种最常用的方式是使用Java代码来访问数据库。Java需要使用JDBC驱动程序来实现对数据库的读写操作。事实上,JDBC驱动程序提供了一种接口,允许Java应用程序访问各种关系型数据库。

连接到数据库通常需要两个步骤:引入驱动程序和建立连接。必须在Java项目中引入所需的数据库驱动程序,使用Java中的DataSource类或DriverManager类创建与数据库的连接。我们创建连接的过程可以被抽象成以下几个步骤:

  1. 加载数据库的驱动程序

  2. 使用URL、用户名和密码建立连接

  3. 通过连接对象创建 Statement 对象,这些对象用于将 SQL 语句发送到数据库

  4. 执行SQL语句并处理结果

  5. 关闭连接

创建数据库连接

Java提供了两个用于创建数据库连接的类:DriverManager和DataSource。使用DriverManager,我们可以获取一个连接对象,然后利用该连接对象对数据库进行操作。DataSource是一个更加通用的接口,它被很多平台所支持,并且可以用于连接到多个数据库。具体的代码如下:

    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    
    try {
        Class.forName("com.mysql.jdbc.Driver");//加载Mysql驱动程序
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");//获取数据库连接
        stmt = conn.createStatement();//创建连接对象
        String sql = "SELECT * FROM user";//创建SQL语句
        rs = stmt.executeQuery(sql);//执行SQL语句并得到结果集

        while (rs.next()) {
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println("name: " + name + ", age: " + age);//打印结果集
        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();//关闭连接
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

使用DataSource接口连接数据库

DataSource接口是一个抽象的数据库连接工厂,在大型企业或者开发环境中经常遇到它。通过将DataSource实现分为不同的部分,可以提高代码的复用性。下面是一个使用DataSource连接MySQL数据库的示例:

    DataSource ds = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    try {
        ds = getDataSource();//获取数据源
        conn = ds.getConnection();//获取数据库连接
        stmt = conn.createStatement();//创建连接对象
        String sql = "SELECT * FROM user";//创建SQL语句
        rs = stmt.executeQuery(sql);//执行SQL语句并得到结果集

        while (rs.next()) {
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println("name: " + name + ", age: " + age);//打印结果集
        }

    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        try {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();//关闭连接
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static DataSource getDataSource(){
        BasicDataSource ds = new BasicDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/test");
        ds.setUsername("root");
        ds.setPassword("root");
        return ds;
    }

以上就是Java访问数据库的基本方法和示例代码。通过这篇文章的学习,相信读者已经具备了一定的Java连接数据库的知识和技能。