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)获取结果集当前行指定列名值。

java之连接数据库之JDBC访问数据库的基本操作的更多相关文章

  1. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

    一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...

  2. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  3. Jdbc访问数据库篇

    一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...

  4. 2017.10.3 JDBC访问数据库的建立过程

    1·JDBC访问数据库,其访问流程: (1)注册驱动 (2)建立连接(Connection) (3)创建数据库操作对象用于执行SQL语句 (4)执行语句 (5)处理执行结果 (6)释放资源 2·注册驱 ...

  5. JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)

    * 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接) import java.sql.Connection; import java.sql.DriverManager; import ...

  6. Java基础之原生JDBC操作数据库

    前言 日常开发中,我们都习惯了使用ORM框架来帮我们操作数据库,本文复习.记录Java如何使用原生JDBC操作数据库 代码编写 封装几个简单方法 find查询方法 findOne查询方法 update ...

  7. Spring实战6:利用Spring和JDBC访问数据库

    主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRep ...

  8. 【jdbc访问数据库获取执行sql转换json】

    Talk is cheap.Show me your code. import java.sql.*; import java.util.HashMap; import java.util.Map; ...

  9. javaweb三、JDBC访问数据库

    JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的 ...

随机推荐

  1. Redis的KEYS命令引起宕机事件

    摘要: 使用 Redis 的开发者必看,吸取教训啊! 原文:Redis 的 KEYS 命令引起 RDS 数据库雪崩,RDS 发生两次宕机,造成几百万的资金损失 作者:陈浩翔 Fundebug经授权转载 ...

  2. linux下python3调用c代码或者python3调用c++代码

    前几篇的blog都是为了这个实验做基础,先说 原因是python调用数据库150w条数据22s,然后处理数据,其实就2个简单的for循环,65s 需求: 1. python调用c++函数 2. c++ ...

  3. [ java 工具类] xml字符串解析成Map(DOM解析)

    package com.tencent.jungle.wechat.util; import com.google.inject.Singleton; import org.w3c.dom.Docum ...

  4. clientHeight scrollHeight offsetHeight

    <div  style="height:200px;padding:10px;border:1px solid green;"></div> 对于上面的di ...

  5. PHP 正则 空字符 / NUL字符

    \xnn 匹配中ASCII代码十六进制代码为nn的字符.[\x00-\x7F] 匹配ASCII值从0-127的字符.0-127表示单字节字符,也就是:数字,英文字符,半角符号,以及某些控制字符. 正则 ...

  6. 企业SaaS模式的优缺点

    好处: 1.降低成本 项目成本.人员成本 2.使用简单 无需系统维护,用户只需登录就可以享受系统的功能 3.安全性 SaaS模式下,企业用户最关注的是自己的数据能不能得到安全保护. A.涉及的数据有哪 ...

  7. Python实现代码统计工具——终极加速篇

    Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...

  8. ux.form.field.Password 密码与非密码状态切换

    效果如图: 扩展源码: //扩展 //密码按钮扩展 //支持在密码与非密码之间切换 Ext.define('ux.form.field.Password', { extend: 'Ext.form.f ...

  9. HTML5在手机端实现视频全屏展示

    最近做项目,遇到一个问题,在手机上要实现视频的全屏播放功能.测试了很久,终于找到解决办法. 第一种:将视频放大来控制. 视频在播放的时候,全屏是根据高度来的,如果设置视频 video 标签的宽度是 1 ...

  10. 初始化后,composer安装

    在项目目录下输入composer install(保证要有composer.json的前提下)