促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
级别 8
使用数据库时的事务
SQL & Hibernate
第 8 级,
课程 0
为什么需要交易 很多时候,在使用数据库时,会出现需要执行许多不同操作的情况,但它们只有放在一起才有意义。 例如,我们正在编写的银行软件应该做三件事: 从客户账户中提取资金 将钱添加到收款人的帐户 将投寄资料记录于「投寄纪录」 如果在执行这些操作中的任何一个期间发生错误,则其他两个操作也必须取消。不可能从客户那里注销钱而不把它加到收款人身上?好吧,还是添加到收件人,但不从客户端注销? 因此,这种将不同操作合而为一的逻辑组合称为事务。换句话说,事务是一组必须一起执行的操作。如果任
使用 PreparedStatement
SQL & Hibernate
第 8 级,
课程 1
报表类型 我们已经看到了最简单的Statement接口。虽然它非常适合工作,但不太适合复杂的查询。在一些消息来源中,表达的意见是根本没有必要使用Statement - 更复杂和功能更丰富的接口才是合适的。 PreparedStatement 可调用语句 一个相当合理的问题出现了——为什么需要这些接口?让我们弄清楚。 首先,我们将看一下PreparedStatement接口和其他 JDBC 功能。稍后我们将转向CallableStatement接口- 首先,它的使用并不常见,其
调用 SQL Server 函数
SQL & Hibernate
第 8 级,
课程 2
可调用语句 JDBC 有另一个接口用于更复杂的场景。它继承自PreparedStatement,称为CallableStatement。 它用于调用(Call)数据库中的存储过程。这种调用的特殊性在于,除了ResultSet result 之外,还可以将参数传递给这种存储过程。 你问什么是新的?PreparedStatement也有一个ResultSet结果,您也可以将参数传递给它。是的,没错,但是存储过程的特殊之处在于,它们不仅可以通过参数接收数据,还可以返回数据。 使用I
将对象保存到数据库
SQL & Hibernate
第 8 级,
课程 3
JDBC 数据类型的完整列表 除了您知道的数据类型之外,JDBC 还允许您使用 DBMS 的许多本机数据类型。下面我将列出类型和获取它们的函数: 类型 方法 大批 获取数组() AsciiStream 获取 AsciiStream() 大数 getBigDecimal() 二进制流 getBinaryStream() 斑点 获取Blob() 布尔值 获取布尔值() 斑点 获取Blob() 布尔值 获取布尔值() 字节 获取字节() 字节 获取字节() 字符流 获取字符流()
ResultSet 的高级工作
SQL & Hibernate
第 8 级,
课程 4
结果集定制 现代 JDBC API 允许您极大地自定义对象。陈述和结果集. 例如,使用结果集您可以更改数据库中的行。 在创建语句对象时,我们可以将一堆我们的愿望传递给它。这些愿望可以分为三类: 底座连接型 并发访问控制 持久性和事务 创建对象时可以传递这些参数陈述或者PreparedStatement. 例子: Statement statement = connection.createStatement(
使用行集
SQL & Hibernate
第 8 级,
课程 5
6.1 行集介绍 如您所知,JDBC 标准已有将近 20 年的历史,而且有点过时了。新的类型和新的类正在慢慢地加入其中,但这并不是处处都能做得漂亮的。其中一个地方是ResultSet。 数据库可以变得更高效,但ResultSet接口不太合适。此外,我们没有在任何地方显式创建它的对象,它们由executeQuery(). JDBC 的创建者没有考虑很久,就创造了一种与以前的一切完全平行的机制。它被称为RowSet。 以下是它的主要优点: RowSet 扩展了ResultSet
使用线程池
SQL & Hibernate
第 8 级,
课程 6
7.1 连接池 今天我们将学习如何更专业地使用数据库。现在我们将讨论线程池,或者英文的连接池。 连接到数据库需要一些时间。特别是如果数据库是远程的。如果我们为每个请求都连接到数据库,那么我们的应用程序的响应速度将非常慢。更不用说它会消耗的资源了。 作为此类问题的解决方案,有人提出将连接存储在某个集合中,称为线程池。 当我们请求一个新的连接时,连接池会创建它,关闭时并不会关闭它,而是保存在连接池中。如果我们再次从连接池请求连接,它将给我们一个旧的,而不是创建一个新的。 事实上,
Please enable JavaScript to continue using this application.