Java连接数据库(JDBC)

这周学习了Java连接数据库操作,数据库对于我们编程人员来说是非常重要的,以前学过MySQL,但一直没有学习Java如何连接数据库,这周才找到时间,学了一下

总的来说一共分为六个步骤

1.注册驱动

2.获取数据库连接

3.获取数据库操作对象

4.编写SQL语句

5处理查询结果集

6.关闭资源

import com.mysql.jdbc.Driver;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test01 {
    public static void main(String[] args){
        long start = System.currentTimeMillis();
        //1.注册驱动
        Connection conn = null;
        Statement statement = null;
        try {
            Driver driver = new Driver();
            DriverManager.registerDriver(driver);
            //2.获取数据库连接
            String url = "jdbc:mysql://localhost:3306/teacher";
            String user= "root";
            String password = "********";
            conn = DriverManager.getConnection(url, user, password);
            //3.获取数据库操作对象
            statement = conn.createStatement();
            //4.执行SQL语句
//            String update = "update student set name='张六' where no=8";
//            String insert = "insert into student(name) values('赵六')";
            String delete = "delete from student where no = 8";
            int count = statement.executeUpdate(delete);
            System.out.println(count);
            //5.处理查询结果集 (这里没有)
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            //6.关闭资源
            if(statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        long end = System.currentTimeMillis();
        System.out.println(end - start);
    }
}

当然如果写的多了,就感觉这样写很麻烦很浪费时间,这里其实可以对代码进行一些简单的封装,形成一个工具类,这样来的话就简单多了 ,这是我看视频,封装的工具类

import java.sql.*;

public class Test03 {
    static{
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
     public static Connection start() throws Exception{
         String url = "jdbc:mysql://localhost:3306/teacher";
         String user = "root";
         String password = "*******";
         Connection conn = DriverManager.getConnection(url, user, password);
         return conn;
     }
     public static void close(Connection conn, Statement sta, ResultSet res){
        if(res != null){
            try {
                res.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(sta != null){
            try {
                sta.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
     }

}

当然对于和我这样的新手来说还是不用封装的工具类较好,多敲几遍原生代码,可能会记得更清晰,当然,如果是大神,那肯定还会有更好的封装办法。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java JDBC (Java Database Connectivity) 是一套用于Java应用程序与关系数据库进行交互的API。它提供了一种标准的方式来连接、操作和管理各种类型的数据源。以下是一个简单的JDBC连接数据库的步骤: 1. **添加JDBC驱动**:首先,你需要将特定数据库的JDBC驱动(如MySQL的mysql-connector-java.jar或Oracle的ojdbc.jar)添加到项目的类路径中。 2. **加载驱动**:在Java代码中,使用Class.forName()方法动态加载数据库驱动,确保它在运行时可用。 ```java Class.forName("com.mysql.jdbc.Driver"); ``` 3. **创建连接**:使用DriverManager.getConnection()方法创建数据库连接,需要提供数据库URL、用户名和密码。 ```java String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 4. **创建Statement或PreparedStatement**:可以使用Statement执行SQL语句,或者PreparedStatement用于预编译以防止SQL注入。 ```java Statement stmt = conn.createStatement(); // 或 PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM my_table WHERE id = ?"); ``` 5. **执行查询和处理结果**:使用Statement或PreparedStatement执行SQL,然后用ResultSet来遍历和处理查询结果。 ```java ResultSet rs = stmt.executeQuery("SELECT * FROM users"); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); // 处理数据 } ``` 6. **关闭资源**:在完成操作后,记得关闭ResultSet、PreparedStatement和Connection,释放系统资源。 ```java rs.close(); pstmt.close(); conn.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值