JDBC
一 JDBC的⼯作原理
第一步:注册驱动程序 第二步:请求连接 第三步:获取执行sql语句 第四步:返回结果集 第五步:关闭连接操作
二 JDBC中常⽤的接⼝和类
2.1 概述
JDBC与数据库驱动的关系: 接⼝与实现的关系。 JDBC规范(掌握四个核⼼对象): DriverManager:⽤于注册驱动 Connection: 表示与数据库创建的连接 Statement: 操作数据库sql语句的对象 ResultSet: 结果集或⼀张虚拟表 开发⼀个JDBC程序的准备⼯作: JDBC规范在哪⾥: JDK中: java.sql.*; javax.sql.*; 数据库⼚商提供的驱动:jar⽂件
2.2 java.sql.DriverManager
a.注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使⽤ 原因有2个: > 导致驱动被注册2次。 > 强烈依赖数据库的驱动jar 解决办法: Class.forName("com.mysql.jdbc.Driver"); b.与数据库建⽴连接 ⽅法名字: static Connection getConnection(String url, String user, String password) 试图建⽴到给定数据库 URL 的连接。 url: 连接指定数据库的地址 jdbc:mysql://ip:port/dbname user: 连接⽤户名 password:密码 getConnection("jdbc:mysql://localhost:3306/day06", "root", "root"); 对URL的解释: URL:SUN公司与数据库⼚商之间的⼀种协议。 jdbc:mysql://localhost:3306/day06 协议 ⼦协议 IP :端⼝号 数据库 mysql: jdbc:mysql://localhost:3306/day14 或者 jdbc:mysql:///day14(默认本机连接) oracle: jdbc:oracle:thin:@localhost:1521:sid 示例: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day14? user=root&password=root");
2.3 java.sql.Connection接⼝
接⼝的实现在数据库驱动中。所有与数据库交互都是基于连接对象的。 Statement createStatement(); 作⽤:⽤于获取Statement对象
2.4 java.sql.Statement接⼝
作⽤:操作sql语句,并返回相应结果的对象(⼩货⻋) 接⼝的实现在数据库驱动中。⽤于执⾏静态 SQL 语句并返回它所⽣成结果的对象。 ResultSet executeQuery(String sql) 根据查询语句返回结果集。只能执⾏select语句。 int executeUpdate(String sql) 根据执⾏的DML(insert update delete)语句,返回受影响的⾏数。 boolean execute(String sql) 此⽅法可以执⾏任意sql语句。返回boolean值,表示是否返回ResultSet结果集。仅当执⾏select语句,且有返回结果时返回true, 其它语句都返回false; 这个execute⽅法不好,因为执⾏查询时返回true,其他操作返回false,⽆法知道是否删除或插⼊或修改成功. execute(String sql):通常⽤于DDL executeUpdate(String sql):通常⽤于DML executeQuery(String sql):⽤于DQL
2.5 java.sql.ResultSet接⼝
表示结果集(客户端存表数据的对象) a.封装结果集 常规 提供⼀个游标,默认游标指向结果集第⼀⾏之前。 调⽤⼀次next(),游标向下移动⼀⾏。 提供⼀些get⽅法。 封装数据的⽅法 Object getObject(int columnIndex); 根据序号取值,索引从1开始 Object getObject(String ColomnName); 根据列名取值。
java的数据类型与数据库中的类型的关系