Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?

Java 中访问数据库的步骤

1)注册驱动;
2)建立连接;
3)创建Statement;
4)执行sql 语句;
5)处理结果集(若sql 语句为查询语句);
6)关闭连接。

Statement 和PreparedStatement 之间的区别

与Statement相比:

①PreparedStatement接口代表预编译的语句,它主要的优势在于可以减少SQL的编译错误并增加SQL的安 全性(减少SQL注射攻击的可能性);

②PreparedStatement中的SQL语句是可以带参数的,避免了用字符串连接拼接SQL语句的麻烦和不 安全;③当批量处理SQL或频繁执行相同的查询时,PreparedStatement有明显的性能上的优势,由于数据库可以将编译优化后的SQL语句缓 存起来,下次执行相同结构的语句时就会很快(不用再次编译和生成执行计划)。

补充:为了提供对存储过程的调用,JDBC API中还提供了CallableStatement接口。存储过程(Stored Procedure)是数据库中一组为了完成特定功能的SQL语句的集合,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它。虽然调用存储过程会在网络开销、安全性、性能上获得很多好处,但是存在如果底层数据库发生迁移时就会有很多麻烦,因为每种数据库的 存储过程在书写上存在不少的差别。

转载于:https://www.cnblogs.com/HRuinger/p/5897077.html

Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?相关推荐

  1. java 中访问数据库的步骤

    1.导入连接数据库的Jar包 2.创建连接数据库对象Connection 3.创建Statement对象 4.执行SQL语句 5.返回结果集 6.对结果集用对象封装 7.关闭数据库连接

  2. Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别

    java execute,executeQuery和executeUpdate之间的区别 关注:269  答案:4  信息版本:手机版 电脑版 解决时间 2021-01-25 18:31 提问者怪咖 ...

  3. Java中interrupted()和isInterrupted()之间的区别

    Java中的interrupted()和isInterrupted() (interrupted() and isInterrupted() in Java) Here, we will see ho ...

  4. java中gt与gtgt与gtgtgt与lt之间的区别

    1. 今天在刷剑指,遇到一道题: **输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.** 看到一个使用逻辑移位的放大进行的操作,很受启发,顺便整理一下从未用到的符号含义. 2. 符号 ...

  5. Statement和PreparedStatement之间的区别(转)

    转自http://www.cnblogs.com/raymond19840709/archive/2008/10/13/1309657.html 1.PreparedStatement是预编译的,对于 ...

  6. writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别

    小编典典 如果您使用BufferedWriter则效率更高 在刷新/关闭之间有多次写入 与缓冲区大小相比,写操作较小. 在您的示例中,您只有一次写入,因此BufferedWriter只会增加您不需要的 ...

  7. Java中的数据库架构导航

    jOOQ的重要组成部分是数据库架构导航模块jooq-meta. 代码生成器使用它来发现相关的架构对象. 我多次被问到为什么我要自己滚动而不使用其他库,例如SchemaCrawler或SchemaSpy ...

  8. 3.访问数据库的步骤:访问数据库的步骤有哪些???

    3.访问数据库的步骤:访问数据库的步骤有哪些??? 学习:第7遍 1.访问数据库的步骤有哪些??? 第一步:注册驱动 前提是将mysql-connectot-java-5.1.14-bin.jar添加 ...

  9. Java中获取数据库中两个时间的相差秒数

    场景 Java中获取数据库中结束时间与开始时间相差的秒数. 实现 Long betweenTime=0l;betweenTime =((b.getFinishTime().getTime()-b.ge ...

最新文章

  1. Blender建筑可视化技能学习视频教程
  2. 5G 承载网 — 前传、中传、回传
  3. postgresql关闭自动提交
  4. java清除控制台_Java:清除控制台
  5. LeetCode 75 Sort Colors(颜色排序)
  6. win10下安装ubuntu14.04双系统(UEFI固件)
  7. asic面试题目 英伟达_免笔试!不限量!全球可编程图形处理技术领袖英伟达2021校园招聘火热进行中!...
  8. django学习之路
  9. mysql8 index255_详解关于MySQL 8.0走过的坑
  10. 夯实Java基础(二十一)——Java反射机制
  11. 聊天机器人不仅能省下客服成本 体验可能会更好
  12. python3怎么安装mysql_Python3.7安装mysqlclient
  13. 1121: [POI2008]激光发射器SZK
  14. BZOJ4025 : 二分图
  15. 微信支付测试商户号开发必备(有效的)
  16. 微信公众号开发,移动端开发遇到的问题及其他技巧
  17. The Complete Guide To Rooting Any Android Phone
  18. 普通视图和物化视图的区别(转)
  19. serialize()序列化
  20. 使用mpx开发外卖小程序完整教程(附源码)

热门文章

  1. swift调用支付宝
  2. javamail读取并发送完整的html页面
  3. 微软职位内部推荐-Senior PM
  4. cocostudio 实现换行功能的label (文本区) lua
  5. 【Laro】- About Game Engine
  6. 使用Android高性能音频--OpenSL ES和AAudio
  7. Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant)
  8. android jni 释放资源
  9. Android Java和JavaScript互调
  10. BottomNavigationView处理只有2个tab的情况