天天看点

【JDBC】jdbc学习1. JDBC流程图2. JDBC操作MySql例子:

1. JDBC流程图

【JDBC】jdbc学习1. JDBC流程图2. JDBC操作MySql例子:

2. JDBC操作MySql例子:

2.1.引入mysql连接驱动maven依赖

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

2.2 使用反射机制加载JDBC驱动

Class.forName("com.mysql.jdbc.Driver");
           

2.3 通过驱动管理器(DriverManager)获取连接

Connection conn = DriverManager.getConnection("数据库连接地址", "数据库用户名", "数据库密码");
           

2.3 从连接中获取执行语句模板

// 第一种
// Statement st = conn.createStatement();

// 第二种,可防止 sql 注入安全问题
PrepareStatement pst = conn.prepareStatement("sql语句");
           

2.4 执行相对应的 sql 语句

// 查
ResultSet rs = pst.executeQuery("sql语句");

// 增、删、改
int rs = pst.executeUpdate("sql语句");
           

2.5 关于 ResultSet 的数据结构

     可以看初ResultSet是一个带有头节点的链表数据结构。

【JDBC】jdbc学习1. JDBC流程图2. JDBC操作MySql例子:

2.6 遍历ResultSet

while(rs.next()){

    System.out.println(re.getString("key"));

}
           

2.7 关闭所有资源

conn.close();
pst.close();
rs.close();
           

附上demo:

代码:

public class JDBCDemo {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        // 反射机制加载 jdbc 连接mysql驱动
        Class.forName("com.mysql.jdbc.Driver");

        // 连接参数 url,username,password
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "lidantao";

        // 获取连接
        Connection conn = DriverManager.getConnection(url, username, password);

        // 查询 sql 语句
        String sql = "select * from user;";

        // 获取语句执行模板
        PreparedStatement pst = conn.prepareStatement(sql);

        // 执行 sql 语句
        ResultSet rs = pst.executeQuery(sql);

        // 遍历输出
        while(rs.next()){
            System.out.println(rs.getString("username"));
        }

    }


}
           

数据库:

【JDBC】jdbc学习1. JDBC流程图2. JDBC操作MySql例子:

运行结果:

【JDBC】jdbc学习1. JDBC流程图2. JDBC操作MySql例子: