jdbc
jdbc介绍
JDBC全称为: Java DataBase Connectivity(java与数据库结合)
如果没有JDBC,Java程序员需要面向各个数据库驱动接口编程 开发复杂
sun公司提供一套统一JDBC接口规范 Java程序只需要使用JDBC就可以操作任何数据库 JDBC实现由各个数据库厂商提供
常用类说明
1 DriverManager
操作数据库第一步是需要注册驱动的
DriverManager类的目的: 注册驱动和获取链接的 获取一个链接collection
Class.froName("com.mysql.jdbc.Driver");
需要导入包
2 JDBC URL说明
告诉程序你要操作哪一个数据库
mysql为例: 需要获取链接数据库的相关协议:jdbc:mysql://localhost:3306/库名
这里 jdbc: 是JDBC链接协议
这里 mysql:// 是mysql数据库连接协议 JDBC子协议
localhost:3306 主机和端口号
Collection 连接
Statement con.createStatement()
PreparedStatement con.preparedStatement(sql)-- 执行对象
该对象可以将SQL发送给数据库进行执行
Statement
用于将SQL发送给数据库 获得操作结果
发送单条SQL
executeUpdate() 用于向数据库发送 intsert update delete 语句 返回int类型参数 代表影响记录行数
executeQuery() 用于向数据库发送 select语句 返回ResultSet 结果集对象 -- 类似于一张表
execute 用于数据库发送任何SQL语句
返回Boolean SQL执行结果是ResultSet 返回true 否则false
ResultSet
ResultSet包含符合SQL语句中推荐的所有行 并且太通过一套get方法( 这些get方法可以访问当前行中的不同列) 提供了对这些数据的访问。ResultSet ...next 方法用于移动到ResultSet 中的下一行 ⑩下一行成为当前行
结果集一般是一个表 其中有查询所返回的列标题及对应的值
行:
ResultSet 维护指向其中数据行的光标 梅调用一次next方法 光标向下移动一行
最初它位于第一行之前 因此第一次调用next将把光标置于第一行上 使它成为当前行 随着每次调用next 导致光标向下移动一行 按照自上而下的次序获取ResultSet行
列:
方法getxxx 提供了获取当前行中的某列值的途径 在每一行内 可以按任何次序获取列值 但为了保证可移植性 应该从左至右获取列值
结果集处理
1 数据结果集只有一条记录一般采用
if(rs.next){
//查到了数据
}else{
//没有查到数据
}
如果是多条记录采用循环遍历
while(rs.next){
//根据数据库内部 列类型 选择相应的getxxx方法
int-------getInt()
varchar ------getString()
date ---------getDate()
}