java之连接数据库之JDBC访问数据库的基本操作
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)获取结果集当前行指定列名值。
最新文章
- SQL Server 多实例下的复制
- mybatis 使用经验小结
- oracle 关键字
- 精益化设计:把敏捷方法和Lean UX相结合
- linux基础3——与XP共享文件夹的设置
- 如何让python程序运行得更快
- php header 函数详解
- 【Grunt】
- document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间
- You need to use a Theme.AppCompat theme (or descendant) with this activity 问题解决
- tomcat 请求处理流程分析(基于nio)
- ASP.NET - ADO.NET框架
- Linux忘记密码常用的几种解决方法
- spring框架 AOP核心详解
- 第6章 静态路由和动态路由(3)_RIP动态路由协议
- 学习Python 新去处:Python 官方中文文档
- 【原】Solr入门之概念和安装
- c#List数组移除元素
- GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集
- RDD之七:Spark容错机制
热门文章
- Linux系统时间同步方法小结
- 【ML入门系列】(三)监督学习和无监督学习
- npm安装package.json中的模块依赖
- DirectX using C++_error X3539:ps1_x is no longer supported...解决方案
- 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
- window/linux composer安装/卸载
- 从0移植uboot(三) _编译最小可用uboot
- Delphi过程函数传递参数的几种方式
- [转]GREP for Windows
- Java语言基础之方法的设计