摘要: 使用JDBC操作数据库的时候,经常会执行一些批量操作。 例如,一次性给会员增加可用优惠券若干,我们可以执行以下SQL代码: INSERT INTO coupons (user_id, type, expires) VALUES (123, 'DISCOUNT', '2030-12-31'); INS 阅读全文
posted @ 2022-06-29 16:07 大于昨天 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 要在JDBC中执行事务,本质上就是如何把多条SQL包裹在一个数据库事务中执行。 JDBC的事务代码: Connection conn = openConnection(); try { // 关闭自动提交: conn.setAutoCommit(false); // 执行多条SQL语句: inser 阅读全文
posted @ 2022-06-29 15:57 大于昨天 阅读(63) 评论(0) 推荐(0) 编辑
摘要: Read Uncommitted 是隔离级别最低的一种事务级别。 脏读(Dirty Read):在这种隔离级别下,一个事务会读到另一个事务更新后但未提交的数据,如果另一个事务回滚,那么当前事务读到的数据就是脏数据,这就是脏读(Dirty Read)。 举例:准备好students表的数据,该表仅一行 阅读全文
posted @ 2022-06-27 16:37 大于昨天 阅读(1871) 评论(0) 推荐(1) 编辑
摘要: 事务在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(b 阅读全文
posted @ 2022-06-27 16:13 大于昨天 阅读(42) 评论(0) 推荐(0) 编辑
摘要: JDBC更新 更新操作是UPDATE语句,它可以一次更新若干列的记录。更新操作和插入操作在JDBC代码的层面上实际上没有区别,除了SQL语句不同: try (Connection conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC 阅读全文
posted @ 2022-06-27 14:33 大于昨天 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 插入操作是INSERT,即插入一条新记录。通过JDBC进行插入,本质上也是用PreparedStatement执行一条SQL语句,不过最后执行的不是executeQuery(),而是executeUpdate()。示例代码如下: try (Connection conn = DriverManage 阅读全文
posted @ 2022-06-27 12:44 大于昨天 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: 数据类型 使用JDBC的时候,我们需要在Java数据类型和SQL数据类型之间进行转换。JDBC在java.sql.Types定义了一组常量来表示如何映射SQL数据类型,但是平时我们使用的类型通常也就以下几种: SQL数据类型 Java数据类型 BIT, BOOL boolean INTEGER in 阅读全文
posted @ 2022-06-27 11:39 大于昨天 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 使用Statement拼字符串非常容易引发SQL注入的问题,这是因为SQL参数往往是从方法参数传入的。 我们来看一个例子:假设用户登录的验证方法如下: User login(String name, String pass) { ... stmt.executeQuery("SELECT * FRO 阅读全文
posted @ 2022-06-27 07:11 大于昨天 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 获取到JDBC连接后,下一步我们就可以查询数据库了。查询数据库分以下几步: 第一步,通过Connection提供的createStatement()方法创建一个Statement对象,用于执行一个查询; 第二步,执行Statement对象提供的executeQuery("SELECT * FROM 阅读全文
posted @ 2022-06-27 06:50 大于昨天 阅读(1391) 评论(0) 推荐(0) 编辑
摘要: JDBC连接(Connection):Connection代表一个JDBC连接,它相当于Java程序到数据库的连接(通常是TCP连接)。打开一个Connection时,需要准备URL、用户名和口令,才能成功连接到数据库。 URL是由数据库厂商指定的格式,例如,MySQL的URL是: jdbc:mys 阅读全文
posted @ 2022-06-26 23:02 大于昨天 阅读(77) 评论(0) 推荐(0) 编辑