1.将数据库的JDBC驱动加载到classpath中,在基于JavaEE的web应用实际开发过程中通常要把目标数据库产品的JDBC驱动复制到WEB—INF/lib下。

2.加载JDBC驱动并将其注册到DriverManager中。

Oracle数据库

Class.forName("oracle.jdbc.driver.oracleDriver");

SQL数据库

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

3.建立数据库连接,取得Connection对象。

SQL   数据库

String url="jdbc:sqlserve://localhost:1433;databaseName=LiZanQi";
   String user="sa";
   String password="sa";  
   Connection conn=DriverManager.getConnection(url,user,password);

4.建立Statement对象 或PerparedStatement对象

Statement statement=conn.createStatement();

PreparedStatement pstatement=conn.prepareStatement(所要执行的sql语句);

pstatement.setString(第一个占位符, 占位符的内容);
pstatement.setString(第二个占位符, 占位符的内容);

利用PreparedStatement可以避免数据库的注入攻击!

5.执行SQL语句

String Sql="select * from 表名";

ResultSet rs=statement.executeQuery(Sql);或者ResultSet rs=pstatement.executeQuery();

执行查询语句是用executeQuery();

但是在执行“插入”,“更新”“删除”语句时就需要用executeUpdate();方法了

6.访问结果记录集ResultSet对象

一般用while循环

while(rs.next()){

依次读取结果。

}

7.依次将ResultSet对象,Statement对象或PerparedStatement对象Connection对象关闭释放所占用的资源

rs.close();

statement.close();或者pstatement.close();

conn.close();

8.总结

PreparedStatement:

1.提高了安全性可以防止注入攻击

2.提高了数据库语句的执行性能。

3.提高了代码的可读性和可维护性。

其中PreparedStatement接口继承自Statement接口

JDBC   API做了哪三件事:

1.与数据库建立连接。

2.执行数据库的语句。

3.处理结果。

DriverManager类:依据数据库的不同,管理JDBC驱动。

Connection接口:负责连接数据库并担任传送数据的任务。

statement接口:由Connection对象创建,负责执行数据库语句。

ResultSet 接口:负责保存Statement对象执行后所产生的查询结果。

除了executeQuery方法和executeUpdate方法之外还有execute方法可以执行可以执行所有的语句,当获得true时表示返回了一个ResultSet结果集。

方法:

next() :将光标从当前位置向下移动一行。

previous():游标从当前位置向上移动一行。

void close():关闭当前对象。

int getInt(int colIndex)获取指定列号的当前行。

int getInt(String colIndex)获取指定列名的当前行。

String getString(String colLabel)获取结果集当前行指定列名值。

最新文章

  1. SQL Server 多实例下的复制
  2. mybatis 使用经验小结
  3. oracle 关键字
  4. 精益化设计:把敏捷方法和Lean UX相结合
  5. linux基础3——与XP共享文件夹的设置
  6. 如何让python程序运行得更快
  7. php header 函数详解
  8. 【Grunt】
  9. document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间
  10. You need to use a Theme.AppCompat theme (or descendant) with this activity 问题解决
  11. tomcat 请求处理流程分析(基于nio)
  12. ASP.NET - ADO.NET框架
  13. Linux忘记密码常用的几种解决方法
  14. spring框架 AOP核心详解
  15. 第6章 静态路由和动态路由(3)_RIP动态路由协议
  16. 学习Python 新去处:Python 官方中文文档
  17. 【原】Solr入门之概念和安装
  18. c#List数组移除元素
  19. GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集
  20. RDD之七:Spark容错机制

热门文章

  1. Linux系统时间同步方法小结
  2. 【ML入门系列】(三)监督学习和无监督学习
  3. npm安装package.json中的模块依赖
  4. DirectX using C++_error X3539:ps1_x is no longer supported...解决方案
  5. 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
  6. window/linux composer安装/卸载
  7. 从0移植uboot(三) _编译最小可用uboot
  8. Delphi过程函数传递参数的几种方式
  9. [转]GREP for Windows
  10. Java语言基础之方法的设计