Java的JDBC编程

1 JDBC的概念

          Java程序访问数据库的基本方式是通过JDBC。JDBC(Java DataBase Connectivity,Java数据库连接)技术的简称,是一种用于执行SQL语句的Java API。它是一组由Java编程语言编写的类和接口组成。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成。

2 JDBC优势

  • Java语言访问数据库操作完全面向抽象接口编程
  • 开发数据库应用不用限定在特定数据库产商的API
  • 程序的可移植性大大增强

3 JDBC使用步骤

Java的JDBC编程_第1张图片

4 JDBC案例

4.1 准备数据库环境

在数据库中创建一个表

create table memo_group(id int primary key auto_increment comment "编号",name char(20),created_time timestamp,modify_time timestamp)

4.2 准备数据库驱动包

4.3 加载JDBC驱动程序

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

4.4 建立数据库连接

MySQL数据库连接的URL参数格式如下:

jdbc:database://host:port/databaseName?p1=v1&p2=v2
Connection connection = DriverManager.getConnection
        ("jdbc:mysql://localhost:3301/memo?user=root&password=root&useSSL=false");

4.5 创建操作命令

Statement statement = connection.createStatement();

4.6 执行SQL语句

SQL语句分为增删查改,查会产生结果集,并需处理,增删改只返回影响结果条数

查:ResultSet resultSet = statement.executeQuery
        ("select id,name,created_time,modify_time from memo_group");

删:int effect = statement.executeUpdate("delete from memo_group where id = 2");

       System.out.println(effect);

增:

String sql = "insert into memo_group(id,name,created_time) values (2,'JAVA组',now())";
int effin = statement.executeUpdate(sql);
System.out.println(effin);

4.7 处理结果集

Result对象它成为结果集,通过getXXX方法提供了对这些行中数据的访问。

结果集中的数据一行一行排列,想要取得某一条记录,使用next()方法。

while (resultSet.next()) {//如果返回true,表示有下一行记录,否则无记录
                            int id = resultSet.getInt("id");
                            String name = resultSet.getString("name");
                            LocalDateTime createdTime = resultSet.getTimestamp("created_time").toLocalDateTime();
                            LocalDateTime modifyTime = resultSet.getTimestamp("modify_time").toLocalDateTime();

                            System.out.println(
                                    String.format("编号:%s,名称:%s,创建时间:%s,修改时间:%s",
                                            id, name, createdTime.toString(), modifyTime.toString())
                            );

4.8 释放资源(关闭结果集、命令、连接)

 //6.关闭结果集
  resultSet.close();
 //7.关闭命令
  statement.close();
 //8.关闭连接
   connection.close();

 

你可能感兴趣的:(JavaSE)