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. Maven学习 (四) 使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  2. 关于Random类产生随机数的一些问题

    package test2; import java.util.Random; /** * @author cy * * @date 2015年7月28日 上午8:47:52 * * @Descrip ...

  3. BizTalk开发系列(十九) BizTalk命名规范

    目前BizTalk项目的开发人员比较少,但是在开发过程中还是需要命名规范的约束.根据以往BizTalk项目的经验,整理了BizTalk命 名规范.包括:BizTalk Application, Sch ...

  4. junit测试框架

    import junit.framework.Assert; import org.junit.After; import org.junit.Before; import org.junit.Tes ...

  5. 图文详解MFC程序设置菜单快捷键

    原来觉得添加个快捷键就只要几分钟,上网搜索文章都写得很模糊, 只有这边文章不错. http://www.cplusplus.me/1263.html http://blog.sina.com.cn/s ...

  6. CDN缓存那些事

    CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...

  7. ++i 与 i++ 区别

    i++返回原来的值 ++i 返回i+1的值   但是i++  i的值也会增加1 但是返回还是原来的值 int i = 1; i = i++; System.out.println(i); 输出 1 i ...

  8. favicon.ico的制作

    1.选取需要的图片(jpg的格式等) 2.在网上搜索favicon.ico的制作,将jpg转为ico 3.在html中输入<link rel="shortcut icon" ...

  9. ELK笔记

    ELK笔记 ELKStack高级实战培训http://files.cnblogs.com/files/MYSQLZOUQI/ELKStack%E9%AB%98%E7%BA%A7%E5%AE%9E%E6 ...

  10. lua语言三则特性

    pack和unpack 对于一个函数, 要将其入参转换为一个表, 则pack函数合适. 对于一个表要将其转换为 一个函数的入参, 则 lua原生提供的 unpack函数可以实现. do arrayDa ...