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是常用的连接池之一;
待续.....