正文
JDBC-java访问数据库
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
定义:JDBC是一个独立于数据库管理系统的,通用的SQL数据库存取和操作的公共接口
(由JAVA类和接口组成,接口由各数据库厂家负责实现)
使用方法:
1、加载驱动Class.forName(“数据库驱动全类名”)
Class.forName("oracle.jdbc.driver.OracleDriver");Oracle加载驱动写法
2、获取连接DriverManager.getConnection(连接数据库的URL,数据库账号,数据库密码)
例:(链接本机数据库)
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "账号", "密码");
(连接数据库的URL为jdbc:oracle:thin:@地址:1521:数据库名)
(都会返回 Connection)
DatabaseMetaData a = conn.getMetaData()数据库源数据
getMetaData()返回数据库源数据
3、获取操作声明
Statement a = conn.createStatement();
a.executeUpdate(“增删改语句”)(添加和修改时返回的是受影响的记录条数)
a.executeQuery(“查询语句”)(返回 ResultSet 结果集)
PreparedStatement 执行编译语句的操作声明
特点是Statement的子类,执行效率高,防止SQL注入
用法connection 对象.prepareStatement(sql语句)sql语句可以用问号作为占位符
替换占位符 setXXX(占位符序号,替换的内容)根据XXX的数据类型和占位符序号进行内容替换(占位符序号从1开始)
CallableStatement 执行存储过程的操作声明
是PreparedStatement的子接口
4、处理结果集
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()获取当前行号
5、事务数据库中构成单个逻辑工作单元的操作集合
特性ACIDA原子性
C一致性
I隔离性
D制约性
实现connection对象.setAutoCommit(false)关闭自动提交
connection对象.commit()操作数据之后进行提交
connection对象.rollback()如果有数据异常就回滚
6、数据库连接池负责分配、管理和释放数据库连接
允许应用程序使用现有的连接
ComboPooledDataSource 数据源构造方法ComboPooledDataSource()
ComboPooledDataSource(“配置名称”)通过配置文件配置项构建数据源的实例
c3p0-config.xml
方法setDriverClass设置驱动类
setJdbcUrl设置数据库地址
setUser设置用户
setPassword设置密码
setMinPoolSize设置链接最小数量
setMaxPoolSize设置链接最大数量
setInitialPoolSize设置初始连接数量
getConnection获取链接对象
用法可以使用单例模式,在整个系统使用一个连接池
7、实体类