JDBC

JDBC

JDBC提供了一组访问数据库的接口,而各个数据库厂商提供接口的实现,即驱动。
两层
面向应用程序的API
面向数据库的API

Driver

DriverManager
重载了getConnetion()方法,获得连接更加简单
可以同时管理多个驱动程序,根据传入的连接url不同获取不同数据库的连接
Statment: 执行SQL语句的对象,需要关闭
executeUpdate():插入、删除、更新, executeQuery():查询
使用Statement需要拼写sql语句,很辛苦,容易出错
PreparedStatement: 可以传入带占位符的sql语句
  还可以防止sql注入
  最大可能的提高性能

ResultSet:结果集,需要关闭

ResultSetMetaData:可以获取SQL语句中列的别名及语句都查询了什么。

DAO: Data Access Object
访问数据信息的类,包含了对数据的CRUD操作(增删改查),而不包含业务相关的信息。 

事务
java.sql.Connection 提供了以下控制事务的方法:
public void setAutoCommit(boolean)
public boolean getAutoCommit()
public void commit()
public void rollback()

JavaBean: 用get和set方法定义属性,还有一个无参的构造函数

beanutils: 操作java属性的一个工具包

DatabaseMetaData:可以得到数据库本身的一些基本信息

LOB:大对象,用来存储大量的二进制数据和文本数据的一种数据类型。一个LOB字段可存储多达4GB的数据
内部LOB
oracle支持三种lob类型
BLOB:二进制数据
CLOB:单字节的字符数据
NLOB:多字节的字符数据
外部LOB

读取插入记录的主键(++++++++++)

事务隔离性
并发问题
脏读
不可重复读
幻读
数据库提供4种隔离级别
read uncommitted(读未提交)
read committed(读已提交)
repeatable read(可重复读)
serializable(串行)
oracle只提供serializable和read committed这两种级别,默认是read committed
mysql提供以上四种默认级别,默认是repeatable read
jdbc设置事务的隔离级别:connection.setTransactionIsolation(int level);

每启动一个 mysql 程序, 就会获得一个单独的数据库连接. 每个数据库连接都有一个全局变量 @@tx_isolation, 表示当前的事务隔离级别. MySQL 默认的隔离级别为 Repeatable Read
查看当前的隔离级别: SELECT @@tx_isolation;
设置当前 mySQL 连接的隔离级别:  
set  transaction isolation level read committed;
设置数据库系统的全局的隔离级别:
set global transaction isolation level read committed;

批量处理
addBatch()
executeBatch()
clearBatch()

数据库连接池
jdbc的数据库连接池使用javax.sql.DataSource接口来表示,该接口通常由服务器(WebLogic、WebSphere、Tomcat)来实现,
也有一些开源组织来实现,如DBCP,C3P0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值