Java JDBC基础学习小结

JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connection、Statement、ResultSet,这些接口定义了使用SQL访问数据库的一般架构。  

1、JDBC相关类和API

JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connection、Statement、ResultSet,这些接口定义了使用SQL访问数据库的一般架构。

Driver接口

Driver接口是所有JDBC程序必须实现的接口,该接口专门提供给数据库厂商使用。编写JDBC程序时,必须制定数据库驱动程序或类库加载到项目classpath中。

Java JDBC基础学习小结

DriverManager类

DriverManager用于加载JDBC驱动并创建与数据库的连接。其中定义了2个重要的静态方法:

1 DriverManager.registerDriver(Driver driver) // 用于向DeriverManager注册给定的JDBC驱动程序 2 DriverManager.getConnection(String url, String user, String pwd) // 建立与数据库的连接,返回表示连接的Connection对象

Connection接口

Connection代表与数据库的连接,其中定义了一系列的方法:

1 Connection.getMetaData(); // 返回表示数据库元数据的DatabaseMetaData对象 2 Connection.createStatement(); // 创建一个Statement对象 3 Connection.prepareStatement(String sql); // 创建一个PreparedStatement对象 4 Connection.prepareCall(String sql); // 创建一个CallableStatement对象来调用数据库存储过程

Statement接口

Statement接口用于向数据库发送SQL语句。

1 Statement.execute(String sql); // 执行各种SQL语句,返回一个boolean类型值,true表示执行的SQL语句具备查询结果,可通过Statement.getResultSet()方法获取 2 Statement.executeUpdate(String sql); // 执行SQL中的insert/update/delete语句,返回一个int值,表示受影响的记录的数目 3 Statement.executeQuery(String sql); // 执行SQL中的select语句,返回一个表示查询结果的ResultSet对象

ResultSet接口

1 ResultSet.next(); // 将游标由当前位置移动到下一行 2 ResultSet.getString(String columnName); // 获取指定字段的String类型值 3 ResultSet.getString(int columnIndex); // 获取指定索引的String类型值 4 ResuleSet.previous(); // 将游标由当前位置移动到上一行

2、程序示例

数据库IP 192.168.1.150,数据库名称为test,数据表名称persion,表结构为:

Java JDBC基础学习小结

 表中原有数据

Java JDBC基础学习小结

JDBC连接MySQL程序示例

1 package server; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 public class DemoJDBC { 9 public static void main(String[] args) throws Exception { 10 // 加载驱动类 11 Class.forName("com.mysql.jdbc.Driver"); 12 13 // 通过DriverManager获取数据库连接 14 String url = "jdbc:mysql://192.168.1.150/test"; 15 String user = "teamtalk"; 16 String password = "123456"; 17 Connection connection = (Connection) DriverManager.getConnection( 18 url, user, password); 19 20 // 通过Connection对象获取Statement对象、Statement执行SQL语句 21 Statement statement = (Statement) connection.createStatement(); 22 ResultSet resultSet = statement.executeQuery("select * from persion"); 23 24 // 操作ResultSet结果集 25 while (resultSet.next()) { 26 // 第一种获取字段方式 27 System.out.println(resultSet.getString(1) + " " + 28 resultSet.getString(2) + " " + resultSet.getString(3)); 29 System.out.print("---- "); 30 // 第二种获取字段方式 31 System.out.println(resultSet.getString("id") + " " + 32 resultSet.getString("name") + " " + resultSet.getString("age")); 33 } 34 35 int ret = statement.executeUpdate("insert persion (name, age) value ('bobo', 24)"); 36 if (ret > 0) { 37 System.out.println(" insert ok"); 38 resultSet = statement.executeQuery("select * from persion"); 39 40 while (resultSet.next()) { 41 System.out.println(resultSet.getString(1) + " " + 42 resultSet.getString(2) + " " + resultSet.getString(3)); 43 } 44 } 45 46 // 关闭数据库连接 47 resultSet.close(); 48 statement.close(); 49 connection.close(); 50 } 51 }

程序运行结果为:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6478eb6c53c2d06fabbbed45db01e4c8.html