1、数据库特点

  实现数据共享、减少数据的冗余度、数据的独立性、数据集中控制、数据的一致性和可维护性。

2、数据库种类和功能

(1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录。

(2)网状型数据库:网络模型是使用网络结构表示实体类型、实体间联系的数据模型。

(3)面向对象型数据库:建立在面向对象模型的基础上。

(4)关系型数据库:基于关系模型建立的数据库,关系模型由一系列表格组成。

3、JDBC常用类和接口

(1)DriverManager类

  管理数据库中所有的驱动程序。

  方法:(静态)getConnection(Stirng url,String user,String password)

         setLoginTimeout()

         println(String message)

(2)Connection接口

  与特定的数据库连接。

  创建对象:getConnection()

  方法:createStatement():创建Statement对象

     createStatement(int resultSetType,int resultSetConeurrency)

     prepareStatement():创建预处理对象

     isRacadOnly():查看是否是只读

     setReadOnly():设置读写模式,默认非只读

     commit():使所有上一次提交、回滚后的更改成为持久更改,并释放所有数据库锁

     roolback():取消当前事物所有更改,并释放所持有的数据库锁。

     close():立即释放Connection对象的数据库和JDBC资源。

(3)Statement接口

  用于创建向数据库中传递SQL语句的对象。

  方法:execute():执行静态的SELECT语句,可能返回多个结果表。

     executeQuery(String sql):执行给定的SQL语句,返回单个ResultSet对象

     clearBatch():清空对象当前的SQL命令列表

     executeBatch():将一批命令提交给数据库执行,如果全部命令执行成功,则返回更新计数组成的数据,数据的顺序与SQL语句的添加顺序对应

     executeUpadate():执行给定的SQL语句,该语句可以为INSERT、UPDATE或DELETE语句

     addBatch():将给定的SQL命令添加到此Statement对象的当前命令列表中,如果驱动程序不支持批量处理将抛出异常。

(4)PreparedStatement接口

  PrepareStatement接口继承Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行的SQL语句,将被编译并保存到PreparedStatement实例中。

  方法:execute():执行SQL语句

     executeQuery():执行SQL查询语句,返回结果为查询结构集ResultSet对象

     executeUpdate():执行SQL语句,该语句必须是一个INSERT、UPDATE、DELETE语句,或是没有返回值的DDL语句

     setByte(int pIndex,byte bt)

     setDouble(int pIndex,double dou)

     setInte(int pIndex,int x)

     setObject(int pIndex,Object o)

     setString(int pIndex,String str)

(5)ResultSet接口

  类似于一个临时表,暂时存放数据库查询操作所过的的结果集。

  方法:getInt()、getFloat()、getDate()、getBoolean()、getString()、getObject()、next()、updateInt()、updateFloat()、updateLong()、updateString()、updateObject()、updateNull()、updateDate()、updateDouble()

4、操作数据库

(1)加在数据库驱动

  调用forName():Class.forName(String driverManager)

(2)建立连接

  getConnection(),将URL、用户名和密码作为参数

(3)向数据库添加数据

  获得Statement对象:Connection接口的createStatement(),或调用PreparedStatement()方法

  通过executeUpdate()方法执行SQL语句

(4)获得查询结果集

  executeQuery()方法执行SELECT查询语句,返回一个ResultSet型的结果集。通过遍历结果集的内容,获得SQL语句执行的结果。

  while循环中使用next()方法迭代结果集。

(5)更改数据库中的数据

  Statement接口中的executeUpdate()方法进行修改操作,或PreparedStatement接口中的executeUpdate()方法。

(6)删除数据库中的数据

  executeUpdate()方法

(7)模糊查询

  LIKE关键字,“%”代替0或多个字符,“_”代替一个字符

十五、JDBC操作数据库的更多相关文章

  1. Spring入门(十五):使用Spring JDBC操作数据库

    在本系列的之前博客中,我们从没有讲解过操作数据库的方法,但是在实际的工作中,几乎所有的系统都离不开数据的持久化,所以掌握操作数据库的使用方法就非常重要. 在Spring中,操作数据库有很多种方法,我们 ...

  2. JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  3. 用于JDBC操作数据库的公共类

    /* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...

  4. JDBC操作数据库的学习(2)

    在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...

  5. JDBC操作数据库的学习(1)

    单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的 ...

  6. JDBC操作数据库的三种方式比较

    JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...

  7. Spark Streaming通过JDBC操作数据库

    本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Stream ...

  8. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  9. JDBC操作数据库的基本步骤:

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

  10. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

随机推荐

  1. 实时输出TextField中内容

    要想实时输出TextField中内容,要找到textField内容发现改变就会调用的函数,即 - (BOOL)textField:(UITextField *)textField shouldChan ...

  2. java.io包中的字节流—— FilterInputStream和FilterOutputStream

    接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...

  3. php课程---Json格式规范需要注意的小细节

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  4. what's the difference between dim as and dim as new?

    what's the difference between dim as and dim as new? There is no difference with value types (Intege ...

  5. P1079 Vigenère 密码

    #include <bits/stdc++.h> using namespace std; const int maxn = 1005; int main() { freopen(&quo ...

  6. Spark中容易遇到的问题

    1. 序列化错误 所有需要传给RDD的变量都要实现java.io.Serializable接口.

  7. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  8. Android动画设计源码地址

    Android动画设计源码地址 http://blog.csdn.net/shanghaibao123/article/details/45223825

  9. securtcrt session配置转xshell的session配置

    参数: 1.securtcrt的session目录 2.一个xshell的模版文件 3.输出目录(必须不存在,自动创建) #!/usr/bin/python # -*- coding:utf-8 -* ...

  10. csrf 跨站请求伪造

    转自  http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html