定义:JDBC是一个独立于数据库管理系统的,通用的SQL数据库存取和操做的公共接口sql
(由JAVA类和接口组成,接口由各数据库厂家负责实现)数据库
使用方法:oracle
一、加载驱动 Class.forName(“数据库驱动全类名”)xml
Class.forName("oracle.jdbc.driver.OracleDriver"); Oracle加载驱动写法对象
二、获取链接 DriverManager.getConnection(链接数据库的URL,数据库帐号,数据库密码)接口
例:(连接本机数据库)事务
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "帐号", "密码");
get
(链接数据库的URL为 jdbc:oracle:thin:@地址:1521:数据库名)it
(都会返回 Connection)io
DatabaseMetaData a = conn.getMetaData() 数据库源数据
getMetaData() 返回数据库源数据
三、获取操做声明
Statement a = conn.createStatement();
a.executeUpdate(“增删改语句”) (添加和修改时返回的是受影响的记录条数)
a.executeQuery(“查询语句”) (返回 ResultSet 结果集)
PreparedStatement 执行编译语句的操做声明
特色 是Statement的子类,执行效率高,防止SQL注入
用法 connection 对象.prepareStatement(sql语句) sql语句能够用问号做为占位符
替换占位符 setXXX(占位符序号,替换的内容) 根据XXX的数据类型和占位符序号进行内容替换(占位符序号从1开始)
CallableStatement 执行存储过程的操做声明
是PreparedStatement的子接口
四、处理结果集
ResultSet a = b.executeQuery(“查询语句”);
遍历
while(a.next()){
String sno = a.getString("sno");
String cno = a.getString("cno");
String degree = a.getString("degree");
System.out.println(cno+" "+cno+" "+degree);
}
ResultSetMetaData a = b.getMetaData() 返回结果集的源数据
next() 判断并返回是否存在下一行,若是存在就跳转到下一行
getXXXX(字段序号或字段名称) 根据字段序号或字段名称返回XXXX类型的字段数据
frist() 跳转到首行
last() 跳转到尾行
getRow() 获取当前行号
五、事务 数据库中构成单个逻辑工做单元的操做集合
特性ACID A原子性
C一致性
I隔离性
D制约性
实现 connection对象.setAutoCommit(false) 关闭自动提交
connection对象.commit() 操做数据以后进行提交
connection对象.rollback() 若是有数据异常就回滚
六、数据库链接池 负责分配、管理和释放数据库链接
容许应用程序使用现有的链接
ComboPooledDataSource 数据源 构造方法 ComboPooledDataSource()
ComboPooledDataSource(“配置名称”) 经过配置文件配置项构建数据源的实例
c3p0-config.xml
方法 setDriverClass 设置驱动类
setJdbcUrl 设置数据库地址
setUser 设置用户
setPassword 设置密码
setMinPoolSize 设置连接最小数量
setMaxPoolSize 设置连接最大数量
setInitialPoolSize 设置初始链接数量
getConnection 获取连接对象
用法 可使用单例模式,在整个系统使用一个链接池
七、实体类