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 参数开启预编译功能

posted @   Pray386  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示