JDBC
什么是JDBC
JDBC是java数据库连接技术的简称,充当了jav应用程序与各种不同数据之间进行对话的媒介,持久化机制(持久化是将程序中的数据吧顺时状态和持久状态间转换的机制)。
JDBC工作原理
java应用程序-----JDBC API(交互的各种接口)--------JDBC Driver Manager(管理JDBC驱动)------JDBC驱动(负责连接各种不同的数据库)。
JDBC主要API及作用
DirverManager类:装载驱动程序,并为创建数据库连接提供支持
Connection接口:连接数据库并传输数据
Statement 接口:执行SQL语句
ResultSet 接口:负责保存和处理Statement 执行后产生的查询结果
PreparedStatement接口:具有高安全性,高性能,高可读性,高可维护性,执行sql语句
JDBC访问数据库步骤
-
加载JDBC驱动(class.forName(" JDBC驱动类的名称"))例:Class.forName("com.mysql.cj.jdbc.Driver");
-
与数据库建立联系(Connection con=DriverManager.getConnection(数据连接字符串,数据库用户,密码);)
-
发送sql语句,得到返回结果
-
处理返回结果
连接数据库
常用的两种驱动
-
JDBC-ODBC侨连,适合个人开发和测试,通过ODBC连接数据库
-
纯Java驱动,生产型开发,直接连接数据库
纯java驱动
运行速度快,具有跨平台的特点
public class Seven { public static void main(String[] args) { Connection connection=null; //加载驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.print("找不到驱动"); } //建立连接 try { connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdb","root","root"); System.out.println("建立连接成功!!"); } catch (SQLException e) { System.out.println("失败!!"); }finally { if (null!=connection) { try { connection.close(); System.out.println("关闭连接成功!!"); } catch (SQLException e) { System.out.println("失败!!"); } } } }
Statement接口的常用方法
-
close()关闭连接
-
ResultSet executeQuery(string sql) 执行SQL查询并获取ResultSet对象
-
int executeUpdate(string sql) 插入删除更新操作,返回影响的行数
-
bool execute(string sql) 可执行任意sql语句,结果为ResultSet 对象,返回ture
Connection接口的常用方法
-
close() 关闭连接
-
Statement createStatement() 创建Statement对象将sql语句发送到数据库
-
boolean isClosed() 查询对象是否关闭
-
prepareStatement(string sql) 创建prepareStatement对象将sql语句发送到数据库
ResultSet接口的常用方法
-
bool next() 从光标的当前位置向下移动一行
-
boolean previous() 将光标从当前位置向上移动一行
-
void close() 关闭对象
-
int getInt(int columnIndex) 以int形式获取指定列号的值
-
int getInt (string columnLabel) 以int形式获取指定列名的值
-
int getRow() 得到光标当前所指的行号
-
boolean absolute(int row) 光标移动到Row的指定行
PrepareStatement接口的常用方法
-
boolean execute() 执行任何sql语句
-
ResultSet executeQuery() 在PrepareStatement对象执行SQL查询,生成ResultSet对象
-
int executeUpdate() 增删改 ,返回受影响的行数
-
void setInt(int index,int x) 给指定参数设置int值
-
void setObject(int index,Object x)使用给定对象设置指定参数值