JDBC 常用API
1.DriverManager
1.注册驱动(java 5 后可以省略)
2.获取数据库连接
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对&参数键值对
数据库名称后加参数键值对useSSL= false,可以取消警告
2.Connection
1.获取执行SQL的对象
Statement createStatement() //普通获取SQL
PreparedStatement preparedStatement(); //预编译SQL的执行SQL对象
2.事务管理(出现异常时,可以将操作过的数据回滚到事务开始时的状态)
JDBC事务管理
开启事务:conn.setAutoCommit(false);
提交事务:commit()
回滚事务:rollback()
3.Statement
1.执行SQL语句
int executeUpdate(sql); DML,DDL
返回值:执行DDL语句,可以根据返回值>0确认执行成功
DML语句返回值可能为0,所以不能通过返回值>0确认
ResultSet executeQuery(sql);DQL
返回值:ResultSet结果集对象
4.ResultSet
1.封装了DQL查询语句的结果
ResultSet stmt.executeQuery(sql);
获取查询结果
boolean next() 光标向前移动一行,判断当前是否有效行,true为有效,否则false
xxx getXxx(参数); 获取数据
xxx表示数据类型, 如 int getInt(参数), string getString(参数)
作用:查找出数据,封装到java对象,添加到ArrayList的使用方法。
5.PreparedStatement
1.预编译SQL语句并执行,预防SQL注入问题
SQL注入:通过输入来修改事先定义好的SQL语句,达到对服务器的攻击的方法。
需求:登录
select * from _user where username = 'zhangsan' and password = '123';
①获取PreparedStatement对象
SQL语句的参数值,使用?占位符替代
通过Connection对象获取,并传入对应SQL语句
②设置参数值
PraparedStatement对象:setXxx(参数1,参数2)代替?占位符
参数1:第几个参数
参数2:值
优点:防止SQL注入攻击,将输入的SQL语句转译成转义字符如 ' 转义成 /'
6.PreparedStatement原理
好处:预编译输入,性能更高,防止SQL注入,将敏感字符进行转义
预编译:useServerPrepStmts=true 参数开启预编译功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术