JDBC是什么?

  1.java Database Connectivity:java访问数据库的解决方案;

  2.用相同的方式访问不同的数据库,以实现与具体数据库无关的java操作界面;

  3.JDBC定义一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口;

JDBC接口及数据库厂商实现:

  · 驱动管理     DriverManager  

  · 链接接口   Connection  ,DatabaseMetaData

  · 语句对象接口 Statement,  PreparedStatement,  CallableStatement

  · 结果集接口  ResultSet,  ResultSetMetaDate

JDBC使用步骤:
* 1.导入JDBC驱动jar;
* 2.注册JDBC驱动:
  - 参数:驱动程序类名
  - Class.forName("驱动程序类名")
* 3.获得Connertion对象:
   - 需要3个参数:url、username、password
   - 链接到数据库
* 4.创建Statement(语句)对象:
     - conn.createStatement()方法创建对象
  - 用于执行sql语句
  - execut(ddl)执行任何sql,常用于执行DDL
  - executeUpdate(dml)执行DML语句,如:insert、update、delete
  - executeQuery(dql)执行DQL语句,如:selest
* 5.处理sql执行结果:
  - execute(ddl)如果没有异常则成功;
       - executeUpdate(dml) 返回数字,表示更新"行"数量,报出异常则失败;
  - executeQuery(dql)返回ResultSet(结果集)对象,代表2维查询结果,使用for遍历处理,如果查询失败报出异常;
* 6.关闭数据连接!

##  处理结果集 ResultSet :

  ResultSet 代表DQL查询结果,是2维结果,其内部维护了一个读取数据的游标,默认情况在,游标在第一行数据之前,当调用next()方法时候,

游标会向下移动,并将返回结果集中是否包含数据,如果包含数据就返回true,结果集还提供了很好get方法用于获取结果集游标指向当前行数据;

## xx.net() 检查是否有行;

## 管理数据库连接:

  在软件中数据库连接使用非常频繁,如果每次都创建连接,就会造成代码的大量亢(kang)余,常规做法是建立数据链接工具类,封装数据库连接过程,

统一数据库连接过程,使用时候就可以简化代码;

JDBC 数据库连接池

  数据库连接池是管理并发访问数据库的理想解决方案;DriverManager管理数据库连接适合单线程使用,而在多线程并发情况下,

为了能够重用数据库连接,同时控制并发连接总数,保护数据库避免连接过载,一定要使用数据库连接池;

连接池原理:

###使用DBCP连接池

数据库连接池的开源实现非常多,DBCP是常用的连接池之一;

待续.....

05-07 15:33