JDBC是sun公司为各种常用数据库提供的一种要用于执行SQL语句的无缝连接技术的API。
一、数据库连接流程
(1)加载驱动程序
使用java中的反射技术:
Class.forName("com.mysql.jdbc.Driver");
(2)通过DriverManager创建数据库连接对象
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","root");
(3)创建Statement类并执行
Statement st=con.createStatement();
通过executeQuery()-查询/executeUpdate()-更新 的方法对静态SQL语句进行执行。
ResultSet rs=st.executeQuery("select * from staff");
(4)查看翻译的ResultSet结果集
ResultSet表示执行查询数据库后返回的数据的集合,该对象具有可以指向当前数据行的指针,通过next()是指针指向下一行。
二、事务处理
事务处理是指当执行多个SQL指令时,如果某个原因导致其中一个指令执行有错误,则取消先前执行过的所有指令。这种特性保证了各项操作的一致性和完整性。(我们常说的事件回滚就属于这个行列)
JDBC事务是用Connection对象控制的,该对象提供两种事务模式:自动提交模式和手工提交模式。但是在使用这项特性之前,要确定数据库支持该特性,例如在MySQL中只有表型为Innodb才支持该模式。
方法:
public boolean getAutoCOmmit()0;
public void commit();提交事务
public void rollback();事务回滚
三、批处理
批处理就是一次性执行多条SQL语句,在执行过程中如果某条语句出现错误,仅停止执行错误语句,而批处理中的其它语句则据需执行。主要应用于需要频繁访问处理器的程序将访问任务进行批处理。
四、存储过程
存储过程是预先用SQL语句写好,用一个指定的名称存储起来,经编译后存储在数据库中的操作。当使用时,用户只需要传入指定的存储过程的名字并给出参数来执行它。
优点:
(1)提高语句的执行速度——类似于批处理可以执行多条语句,而且编译一次则可以运行,避免了一条条编译语句,下次执行时还需要进行编译的过程;
(2)方便——开发一次可以持续使用;
(3)安全性高;
当一个项目由开发过程转到维护过程的时候,存储过程会给我们的工作提供很大的帮助。
五、连接池
数据库连接池是指将一些常用的数据库连接先配置好,供需要者直接使用,而这些连接就组成了一个连接池。连接池可以