当前位置:网站首页>JDBC_PreparedStatement预编译对象
JDBC_PreparedStatement预编译对象
2022-08-09 05:09:00 【Camellia——】
package com.lin.jdbc_04;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.lin.jdbc_01.JDBCUtils;
/*
*
* java.sql.PerparedStatement extends java.sql.Statement接口
*
* 好处:
* 1)通过连接对象创建PerparedStatement对象就已经sql进行预编译,提高sql的执行效率
* 2)有效的防止sql注入!
*
* 预编译对象
*
* JDBC
* 1)注册驱动
* 2)获取连接对象
* 3)准备sql: 里面要使用占位符号?
* 4)通过连接对象获取预编译对象并将sql发送到数据库进行预编译
* 5)通过预编译对象设置sql中的参数
* 6)
* 执行查询
* ResultSet executeQuery() 在perparedStatement对象中执行DQL语句
*
* 执行更新int executeUpdate() 在perparedStatement对象中执行DML,DDL语句
* 7)释放资源
* */
public class PreparedStatementDemo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册驱动
// 获取连接
conn = JDBCUtils.getConnection();
// 准备sql
// 向mydb_01数据库中employee表中插入数据
String sql = "insert into employee(name,address,dept_id)values(?,?,?)";
// 通过连接对象创建预编译对象
// PreparedStatement prepareStatement(String sql)
// 将参数化的sql语句发送到数据库中进行预编译(编译一次),提供执行效率
stmt = conn.prepareStatement(sql);
// void setXXX(int paramentIndex,XXX value)
// 参数1:描述的当前?占位符第几个
// 参数2:当前占位符所在字段类型
// 设置参数
stmt.setString(1,"ll");
stmt.setString(2,"北京");
stmt.setInt(3,2);
// 执行更新:sql
int count=stmt.executeUpdate();
if(count>0) {
System.out.println("更新成功,影响了"+count+"行");
}else {
System.out.println("更新失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtils.close(stmt, conn);
}
}
}
边栏推荐
- 剑指Offer - 链表翻转及其变体题目总结
- 【Harmony OS】【ARK UI】公共事件模块
- PWM输出模块PCA9685
- Zuul---路由功能
- 【Harmony OS】【ArkUI】ets开发 图形与动画绘制
- 区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。
- Still don't know what business intelligence (BI) is?After reading this article, you will understand
- 【Harmony OS】【ARK UI】Lightweight Data Storage
- MySQL---performance schema
- 通讯录(动态版)(C语言)(VS)
猜你喜欢
随机推荐
C语言之内存函数
Nacos源码安装
C Advanced-C Language File Operation
保存Simulink仿真模型为图片或者PDF的方法
【Harmony OS】【ARK UI】Date Basic Operation
Oracle01-安装与卸载
Address Book (File Version) (C Language) (VS)
Golang入门教程
【LeetCode】136. 只出现一次的数字
How to choose an APS system, it is necessary to clarify these seven key factors
说明高级语言、汇编语言、机器语言三者的区别,谈谈你对汇编语言的认识。
力扣349-两个数组的交集——HashSet
阻塞队列实现异步消费
Address book (dynamic version) (C language) (VS)
The development trend of software testing
还不了解什么是商业智能(BI)?看完这篇文章就懂了
DS3231模块使用
Quantitative Genetics Heritability Calculation 2: Half Siblings and Full Siblings
php将在线远程文件写入临时文件
[MLT] Analysis of MLT Multimedia Framework Production and Consumption Architecture (2)