暂无个人介绍
2021年10月
1、conn.setAutoComit(false);设置提交方式为手工提交
2、conn.commit()提交事务
3、conn.rollback(),回滚
提交与回滚只选择一个执行。正常情况下提交事务,如果出现异常,则回滚。
大对象LOB(Large Object)是一种数据库数据类型,用来存储大数据量数据,如音频和图像等。 Oracle里有两种使用方法: 存储在数据库里,参与数据库的事务。有三种是这个大对象:BLOB, CLOB , NCLOB。 存储在数据库外的一种:BFILE ,不参与数据库的事务,也就是不能roolback 或者commit等,它依赖于文件系统的数据完整性。
JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。
1.连接型RowSet。 2. 离线型RowSet。
乐观锁——只有当更新数据的时候才会锁定记录。
悲观锁——从查询到更新和提交整个过程都会对数据记录进行加锁。
1.事务是作为单个逻辑工作单元执行的一系列操作。
2.一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务
PreparedStatement是预编译的SQL语句,效率高于Statement。
PreparedStatement支持操作符,相对于Statement更加灵活。
PreparedStatement可以防止SQL注入,安全性高于Statement。
Java DataBase Connectivity API允许我们使用关系数据库。JDBC API接口和类是part java.sql和javax.sqlpackage的一部分。我们可以使用JDBC API来获取数据库连接,在数据库服务器中运行SQL查询和存储过程并处理结果。
JDBC API的编写方式允许我们的Java程序和实际的JDBC驱动程序之间的松散耦合,这使我们可以轻松地从一个数据库切换到另一个数据库服务器。
JDBC API使用Java Reflection API实现java程序和JDBC驱动程序之间的松散耦合。如果你看一个简单的JDBC例子,你会发现所有的编程都是用JDBC API完成的,而驱动程序只有在通过反射使用Class.forName()方法加载时才会出现。
注册并加载驱动程序:使用Class.forName(),驱动程序类注册到DriverManager并加载到内存中。
使用DriverManager获取Connection对象:我们DriverManager.getConnection()通过传递数据库URL字符串,用户名和密码作为参数来获取连接对象。
Connection con = null; try{ // 加载驱动类 Class.forName("com.mysql.jdbc.Driver"); // 创建连接 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/UserDB", "pankaj", "pankaj123"); }catch (SQLException e) { System.out.println("Check database is UP and configs are correct"); e.printStackTrace(); }catch (ClassNotFoundException e) { System.out.println("Please include JDBC MySQL jar in classpath"); e.printStackTrace(); }
JDBC Connection就像使用数据库服务器创建的Session。您还可以将Connection 视为来自数据库服务器的Socket连接。
我们可以一次性为数据库执行大量查询。
JDBC API支持通过Statement和PreparedStatement addBatch()以及executeBatch()方法进行批处理。
批处理比一次执行一个语句更快,因为数据库调用的数量较少。
字符大对象(CLOB)是由具有关联代码页的单字节字符组成的字符串。此数据类型适用于存储面向文本的信息,其中信息量可能超出常规VARCHAR数据类型的限制(上限为32K字节)。
二进制大对象(BLOB)是由字节组成的二进制字符串,没有关联的代码页。此数据类型可以存储大于VARBINARY(32K限制)的二进制数据。此数据类型适用于存储图像,语音,图形和其他类型的业务或特定于应用程序的数据。
它是一个工厂类,我们通过它来创建数据库连接,当JDBC的Driver类被加载进来时,它会自己注册到DriverManager类里面。
java.sql.SQLException——这是JDBC异常的基类。 java.sql.BatchUpdateException——当批处理操作执行失败的时候可能会抛出这个异常。这取决于具体的JDBC驱动的实现,它也可能直接抛出基类异常 java.sql.SQLWarning——SQL操作出现的警告信息。 java.sql.DataTruncation——字段值由于某些非正常原因被截断了(不是因为超过对应字段类型的长度限制)
1:加载一个Driver驱动;
2:创建数据库连接Connection。
3:创建SQL命令发送器Statement。
4:通过Statement发送SQL命令并得到结果。
5:处理结果。
6:关闭数据库资源。
都位于接口java.spl.Connection中。
可以通过调用setAutoCommit(false)来禁止自动提交。
系统将自动调用commit()提交。