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. 云游戏真的来了,这次的搅局者是 Google,云游戏平台搭建

    索尼.微软.任天堂和 Steam 等几家平台商的博弈. Google:云计算将会彻底改变我们的游戏方式 名为「Stadia」的全新游戏平台 和我们平时看到的索尼 PS4.微软 Xbox One 以及任 ...

  2. Ubuntu环境使用apt命令下载管理包的优势

    操作系统:Ubuntu 18.04 LTS 一.概述 之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包. 由于网上已经 ...

  3. Angular4中路由Router类的跳转navigate

    最近一直在学习angular4,它确实比以前有了很大的变化和改进,好多地方也不是那么容易就能理解,好在官方的文档和例子是中文,对英文不太好的还是有很大帮助去学习. 官方地址:https://angul ...

  4. 框架源码系列三:手写Spring AOP(AOP分析、AOP概念学习、切面实现、织入实现)

    一.AOP分析 问题1:AOP是什么? Aspect Oriented Programming 面向切面编程,在不改变类的代码的情况下,对类方法进行功能增强. 问题2:我们需要做什么? 在我们的框架中 ...

  5. Mybatis面试题整理(超详细)

    1.什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement ...

  6. Laravel Homestead 离线安装

    一.写在之前,网络不够快想要安装Homestead,也是一个浩大的工程,对于下载一个 1.22G左右的 laravel/homestead box 也是非常的麻烦.那么如何才能离线安装呢? 接着往下看 ...

  7. 【MyBatis学习06】_parameter:解决There is no getter for property named in class java.lang.String

    我们知道在mybatis的映射中传参数,只能传入一个.通过#{参数名} 即可获取传入的值. Mapper接口文件: public int delete(int id) throws Exception ...

  8. js实现十分钟内在页面无任何操作,页面跳转至登陆页

    // 如果10分钟没有操作,退出到登录页 var timer; function startTimer(){ clearTimeout(timer); timer=setTimeout(functio ...

  9. Mysql命令行tab自动补全方法

    在mysql命令行有时为了方便想要按tbl键自动补全命令,以便节约时间. 具体方法如下: 第一步:修改my.cnf vi mysql/etc/my.cnf 将下图红框的代码注释,修改成如下代码: #d ...

  10. 有关apk打包的东西最近正在整理

    下周将会呈现给大家完整的一套打包流程. {‘敬请期待’,}