JDBC--执行计划与接口PreparedStatement

本文探讨了执行计划的重要性,强调了其在数据库性能提升中的作用。执行计划是SQL语句编译后的产物,数据库会在相同SQL语句时重用执行计划以提高效率。PreparedStatement接口作为预编译语句,用于DML和DQL操作,能够减少SQL语句变更,增强性能并防止SQL注入。使用PreparedStatement带来的好处包括执行计划的复用和安全的参数化查询,有效避免了SQL注入问题。
摘要由CSDN通过智能技术生成

1 关于执行计划

(1)任何sql语句执行过程都是先编译成“执行计划”再执行“执行计划”,类似于java文件执行过程先编译成class文件在执行class文件
(2)一条sql语句对应一个执行计划。数据库为了优化性能,在sql语句相同的时候,会对执行计划进行宠用,执行计划编译较慢,重用执行计划可以提高数据库的性能。
(3)数据库只在sql语句完全一样的情况下才会重用执行计划。

INSERT INTO demo (id,name) VALUES (1,'java');
INSERT INTO demo (id,name) VALUES (2,'PHP');

为了提高性能,就要减少sql语句的变更,让他重用执行计划。因此就引入了更为具体的PreparedStatement接口。

2 接口PreparedStatement

PreparedStatement:预编译语句对象,用于执行带参数的预编译执行计划

(1)使用在DML语句中

public static void main(String[] args) {
		//1.获取连接对象
		Connection c = DBUtils.getConnection();
		try{
		// 2.定义SQL语句
		String sql = "INSERT INTO demo (id,name) VALUES (?,?)";
		//3.预编译语句对象,将sql语句发送给数据库,创建执行计划
		PreparedStatement ps = c.prepareStatement(sql);
		//4.为执行计划参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值