JDBC---连接数据库

编码实现

准备

1、建立一个maven工程,使用quick骨架
2、引入依赖

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.45</version>
    </dependency>

在这里插入图片描述

连接方式一

	@Test
    public void testConnection1() {
        try {
            //1.提供java.sql.Driver接口实现类的对象
            Driver driver =  new com.mysql.jdbc.Driver();

            //2.提供url,指明具体操作的数据
            String url = "jdbc:mysql://localhost:3306/test";

            //3.提供Properties的对象,指明用户名和密码
            Properties info = new Properties();
            info.setProperty("user", "root");
            info.setProperty("password", "abc123");

            //4.调用driver的connect(),获取连接
            Connection conn = driver.connect(url, info);
            System.out.println(conn);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

说明:上述代码中显式出现了第三方数据库的API

连接方式二

@Test
    public void testConnection2() {
        try {
            //1.实例化Driver
            String className = "com.mysql.jdbc.Driver";
            Class clazz = Class.forName(className);
            Driver driver = (Driver) clazz.newInstance();

            //2.提供url,指明具体操作的数据
            String url = "jdbc:mysql://localhost:3306/test";

            //3.提供Properties的对象,指明用户名和密码
            Properties info = new Properties();
            info.setProperty("user", "root");
            info.setProperty("password", "abc123");

            //4.调用driver的connect(),获取连接
            Connection conn = driver.connect(url, info);
            System.out.println(conn);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

说明:相较于方式一,这里使用反射实例化Driver,不在代码中体现第三方数据库的API。体现了面向接口编程思想。

连接方式三

	@Test
    public void testConnection3() {
        try {
            //1.数据库连接的4个基本要素:
            String url = "jdbc:mysql://localhost:3306/test";
            String user = "root";
            String password = "abc123";
            String driverName = "com.mysql.jdbc.Driver";

            //2.实例化Driver
            Class clazz = Class.forName(driverName);
            Driver driver = (Driver) clazz.newInstance();
            //3.注册驱动
            DriverManager.registerDriver(driver);
            //4.获取连接
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println(conn);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

说明:使用DriverManager实现数据库的连接。体会获取连接必要的4个基本要素。

连接方式四

@Test
    public void testConnection4() {
        try {
            //1.数据库连接的4个基本要素:
            String url = "jdbc:mysql://localhost:3306/test";
            String user = "root";
            String password = "abc123";
            String driverName = "com.mysql.jdbc.Driver";

            //2.加载驱动 (①实例化Driver ②注册驱动)
            Class.forName(driverName);


            //Driver driver = (Driver) clazz.newInstance();
            //3.注册驱动
            //DriverManager.registerDriver(driver);
            /*
            可以注释掉上述代码的原因,是因为在mysql的Driver类中声明有:
            static {
                try {
                    DriverManager.registerDriver(new Driver());
                } catch (SQLException var1) {
                    throw new RuntimeException("Can't register driver!");
                }
            }

             */


            //3.获取连接
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println(conn);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

说明:不必显式的注册驱动了。因为在DriverManager的源码中已经存在静态代码块,实现了驱动的注册。

### 回答1: 下面是 Java 连接数据库的示例代码: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { public static void main(String[] args) { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/test_db"; String user = "root"; String password = "password"; // 加载驱动程序 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 建立连接 Connection conn = null; try { conn = DriverManager.getConnection(url, user, password); System.out.println("Database connected!"); } catch (SQLException e) { System.out.println("Database connection failed!"); e.printStackTrace(); } // 关闭连接 if (conn != null) { try { conn.close(); System.out.println("Database connection closed!"); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 以上代码连接的是 MySQL 数据库,需要先下载并安装 MySQL 数据库并创建一个名为 test_db 的数据库,并在代码中替换相应的数据库连接信息。 ### 回答2: 在Java中连接数据库有多种方式,下面以使用JDBC方式连接MySQL数据库为例进行说明: 1. 首先,需要导入JDBC相关的库文件,通常为`mysql-connector-java.jar`。可以在官方网站下载并将其添加到项目中。 2. 在代码中引入JDBC相关的类库:`import java.sql.*;` 3. 在代码中创建数据库连接对象:`Connection conn = null;`。 4. 加载数据库驱动程序:`Class.forName("com.mysql.cj.jdbc.Driver");` 5. 创建数据库连接字符串:`String url = "jdbc:mysql://localhost:3306/database";`,其中`localhost`代表数据库所在主机的IP地址,`3306`是MySQL数据库的默认端口,`database`是你要连接的数据库名称。 6. 创建数据库连接:`conn = DriverManager.getConnection(url, "username", "password");`,`username`是登录数据库的用户名,`password`是登录数据库的密码。 7. 执行SQL语句。 - 创建Statement对象:`Statement stmt = conn.createStatement();` - 执行查询语句并获取结果集:`ResultSet rs = stmt.executeQuery("SELECT * FROM table");` - 遍历结果集并处理数据:`while (rs.next()) { // 处理每一条数据 }` - 关闭结果集:`rs.close();` 8. 关闭数据库连接:`conn.close();` 完整的连接数据库代码如下所示: ```java import java.sql.*; public class Main { public static void main(String[] args) { Connection conn = null; try { // 加载数据库驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 创建数据库连接字符串 String url = "jdbc:mysql://localhost:3306/database"; // 创建数据库连接 conn = DriverManager.getConnection(url, "username", "password"); // 创建Statement对象 Statement stmt = conn.createStatement(); // 执行查询语句并获取结果集 ResultSet rs = stmt.executeQuery("SELECT * FROM table"); // 处理结果集 while (rs.next()) { // 处理每一条数据 } // 关闭结果集 rs.close(); } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭数据库连接 if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 以上就是使用Java连接数据库的基本代码,其中的`database`、`table`、`username`和`password`需要根据实际情况进行替换。 ### 回答3: Java连接数据库的代码首先需要导入相应的库文件,在代码中使用import语句导入java.sql包下的相关类。然后需要加载数据库的驱动程序,使用Class.forName()方法加载jdbc驱动类,例如: ```java import java.sql.*; public class ConnectDatabase { public static void main(String[] args) { Connection conn = null; String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库连接URL String username = "root"; // 数据库用户名 String password = "123456"; // 数据库密码 try { // 加载jdbc驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 conn = DriverManager.getConnection(url, username, password); // 执行SQL查询等操作 Statement stmt = conn.createStatement(); String sql = "SELECT * FROM mytable"; ResultSet rs = stmt.executeQuery(sql); // 处理查询结果 while (rs.next()) { String column1 = rs.getString("column1"); int column2 = rs.getInt("column2"); // 处理从数据库中获取的数据 System.out.println(column1 + ", " + column2); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } ``` 以上就是Java连接数据库的代码示例。首先加载jdbc驱动程序,然后根据数据库的连接URL,用户名和密码建立数据库连接。然后可以通过创建Statement对象执行SQL查询等操作,并处理查询结果。最后在finally块中关闭数据库连接。需要注意的是,要根据具体的数据库类型和版本选择相应的驱动包。以上代码使用的是MySQL数据库的连接示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值