摘要:
悲观锁和乐观锁 并发控制 当程序中可能出现并发操作的情况时,就需要保证在并发操作的情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和某个用户单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是 保证一个用户的操作不会对另一个用户的操作结果产生不合理的影响。 如果没 阅读全文
posted @ 2021-04-17 21:28
失昼
阅读(118)
评论(0)
推荐(0)
摘要:
使用JDBC工具类实现模糊查询 代码: import java.sql.*; /** * 模糊查询 * 测试DBUtils */ public class JDBCTest09 { public static void main(String[] args) { //创建连接数据所需对象 Conne 阅读全文
posted @ 2021-04-17 17:06
失昼
阅读(114)
评论(0)
推荐(0)
摘要:
封装JDBC工具类 代码: import java.sql.*; /** * JDBC工具类,简化JDBC编程 */ public class DBUtil { //工具类中的构造方法都是私有的,因为工具类中的方法都是静态的,直接采用类名调用 private DBUtil() {} //静态代码块在 阅读全文
posted @ 2021-04-17 17:03
失昼
阅读(37)
评论(0)
推荐(0)
摘要:
JDBC事务 JDBC中事务默认自动提交,每执行一次SQL就会自动提交一次。 这样的话可能出现数据安全性问题。 connection.setAutoCommit(false) false代表关闭自动提交事务 true代码自动提交事务 connection.commit(); 没有异常 手动提交事务 阅读全文
posted @ 2021-04-17 16:37
失昼
阅读(54)
评论(0)
推荐(0)
摘要:
PreparedStatement(增删改操作) * 代码: ``` import javax.swing.plaf.nimbus.State; import java.sql.*; public class JDBCTest08 { public static void main(String[] 阅读全文
posted @ 2021-04-17 12:48
失昼
阅读(52)
评论(0)
推荐(0)
摘要:
使用Statement数据库操作对象实现升序和降序 Statement可以使用在需要SQL语句拼接的情况下,因为在这样的情况下如果使用PreparedStatement就会给需要拼接的某个SQL关键字加上单引号,那么SQL语法就会报错,例如本例子用在升序和降序上。ASC/DESC 代码实例: imp 阅读全文
posted @ 2021-04-17 11:12
失昼
阅读(252)
评论(0)
推荐(0)
摘要:
Statement 和 PreparedStatement * Statement数据库操作对象存在SQL注入问题,而PreparedStatement预编译数据库操作对象解决了SQL注入问题。 * 一条SQL语句如果任何位置都没有改动,那么第二次执行的时候就不会再进行一次编译了,就会直接执行了,而 阅读全文
posted @ 2021-04-17 10:40
失昼
阅读(59)
评论(0)
推荐(0)
摘要:
解决SQL注入问题 只要用户提供的信息不参与sql语句的编译过程,那么尽管用户输入的信息中含有sql关键字那么也不会起作用了 要想使用户提供信息不参与sql语句的编译过程,那么必须使用 java.sql.PreparedStatement 预编译的数据库操作对象,提前编译sql语句框架 Prepar 阅读全文
posted @ 2021-04-17 10:21
失昼
阅读(188)
评论(0)
推荐(0)
摘要:
SQL注入问题 导致SQL注入的根本原因是什么? 用户输入的信息中含有sql语句的关键字,并且用户所输入的信息参与了sql语句的编译过程,导致sql语句的原意被扭曲。 模拟用户登陆注册,演示sql注入 import java.sql.*; import java.util.HashMap; impo 阅读全文
posted @ 2021-04-17 10:14
失昼
阅读(157)
评论(0)
推荐(0)