JDBC数据库操作

1.数据库的连接方式:

①建立JDBC-ODBC桥接器

应用程序只需建立JDBC和ODBC之间的连接,和数据库的连接由ODBC完成;

优点:使得JDBC有能力访问几乎所有类型的数据库。

缺点:依赖于ODBC,移植性较差。

try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
    System.out.println(e);
}

②加载纯Java数据库驱动程序

优点:不依赖于平台。

//驱动程序由数据库厂家提供

2.建立连接:

使用java.sql.Connection类声明一个对象,再使用类DriverManager调用它的静态方法getConnection创建连接对象:

try{
    Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","loginName","password");
}
catch(SQLException e){}

3.查询操作:

使用Statement声明一个SQL语句对象,让连接对象con调用方法createStatment()创建SQL语句对象:

try{
    Statement sql=con.createStatement();
}
catch(SQLException e){}

查询结果存放于ResultSet类声明的对象中:

ResultSet rs=sql.executeQuery(SQL);

ResultSet对象的方法:

boolean next()

byte getByte(int columnIndex或String columnIndex)

Date getDate(int columnIndex或String columnIndex)

double getDouble(int columnIndex或String columnIndex)

float getFloat(int columnIndex或String columnIndex)

int getInt(int columnIndex或String columnIndex)

long getLong(int columnIndex或String columnIndex)

String getString(int columnIndex或String columnIndex)

(1)顺序查询:

①连接对象con调用getMetaData()返回一个DatabaseMetaData对象:

DatabaseMetaData metadata=con.getMetaData();

②MetaData对象再调用getColumns可以将表的字段信息以行列的形式存储在一个ResultSet对象中:

ResultSet tableMessage=metadata.getColumns(数据库名,数据库扩展名,表名,字段名);

③游标获取信息:

//游标初始位置在第1行之前

tableMessage对象调用next()使游标向下移动一行(顺序查询)

④控制游标:

Statement对象使用连接对象的createStatement(int type,int concurrency)方法可返回一个可滚动的结果集;

type的取值决定滚动方式:

ResultSet.TYPE_FORWORD_ONLY  //结果集的游标只能向下滚动;

ResultSet.TYPE_SCROLL_INSENSITIVE  //结果集的游标可以上下移动(当数据库变化时,当前结果集不变);

ResultSet.TYPE_SCROLL_SENSITIVE  //结果集的游标可以上下移动(当数据库变化时,当前结果集同步改变);

concurrency的取值决定是否可以用结果集更新数据库:

ResultSet.CONCUR_READ_ONLY  //不能用结果集更新数据库中的表;

ResultSet.CONCUR_UPDATABLE  //能用结果集更新数据库中的表;

ResultSet对象的方法:

public boolean previous()

将游标向上移动,当移到结果集第一行之前时返回false;

public void beforeFirst()

将游标移动到结果集的初始位置,即在第一行之前;

public void afterLast()

将游标移到结果集最后一行之后;

public void first()

将游标移到结果集的第一行;

public void last()

将游标移到结果集的最后一行;

public boolean isAfterLast()

判断游标是否在最后一行之后;

public boolean isBeforeFirst()

判断游标是否在第一行之前;

public boolean isFirst()

判断游标是否指向结果集的第一行;

public boolean isLast()

判断游标是否指向结果集的最后一行;

public int getRow()

得到当前游标所指行的行号,行号从1开始,如果结果集没有行,返回0;

public boolean absolute(int row)

将游标移到参数row指定的行(负值为倒数的行数);

(2)排序查询:

SQL语句:SELECT * FROM  表名 ORDER  BY  字段名

(3)模糊查询:

SQL语句:SELECT * FROM  表名 WHERE 字段名 LIKE ‘[含有的字符]%‘
//%代表0个或多个字符

4.更新、添加与删除操作:

更新:

SQL语句:UPDATE <表名> SET <字段名> = 新值 WHERE <条件子句>
如:UPDATE goods  SET price = 3009 WHERE name=‘海尔电视机‘

添加:

SQL语句:INSERT INTO 表(字段列表) VALUES (对应的具体的记录)
如:INSERT INTO goods(number,name,madeTime,price) VALUES (‘A009‘,‘手机‘,‘2010-12-20‘,3976)

删除:

SQL语句:DELETE FROM <表名> WHERE <条件子句>
如:DELETE FROM goods WHERE number=‘B002‘

5.预处理语句:

//将SQL语句解释为数据库底层的内部命令,直接让数据库去执行这个命令,提高了访问数据库的速度

连接对象con调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理;

prepareStatement对象调用的方法:

ResultSet executeQuery()

boolean execute()

int executeUpdate()

6.事务(一组SQL语句):

事务处理:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。

①连接对象con调用setAutoCommit(boolean autoCommite)方法,将参数autoCommit取值false来关闭自动提交模式;

②连接对象con调用commit()方法让事务中的SQL语句全部生效;

③连接对象con调用rollback()方法处理事务失败,即事务中任何一个SQL语句未能生效,抛出SQLException异常,调用rollback()方法撤销事务所有的语句;

7.批处理:

Statement对象调用executeBatch()方法可以一次执行多条SQL语句;

事先让Statement对象调用addBatch(String sql)方法将要执行的SQL语句添加到该对象中;

8.CachedRowSetImol类

//解决连接对象con关闭后,ResultSet对象中的数据消失问题(避免长时间占用数据库的连接资源)

com.sun.rowset.CachedRowSetImol类(实现了CachedRowSet接口)

CachedRowSetImpl对象调用populate(Resultset rs)方法保存ResultSet对象中的数据:

如:ResultSet rs=sql.executeQuery(SQL);
  CachedRowSetImpl rowSet=new CachedRowSetImpl;
  rowSet.populate(rs);
  con.close();

原文地址:https://www.cnblogs.com/rongbin/p/9393401.html

时间: 2024-08-08 06:23:01

JDBC数据库操作的相关文章

JDBC:数据库操作:处理大对象CLOB数据

目标: 了解大对象处理基本原理, 掌握CLOB数据的读,写操作. 可以使用CLOB类处理大文本数据. 大对象处理主要指CLOB和BLOB两种类型字段.可以大量存储文字. 要想在程序中处理这样的大数据操作,则必须使用preparedStatement完成.所有文件内容通过IO流方式从大文本字段中保存和读取. 写入大数据对象: 使用PreparedStatement接口中的方法. void setAsciiStream(int parameterIndex, InputStream x, int l

JDBC:数据库操作:BLOB数据处理

CLOB主要保存海量文字,而BLOB是专门保存二进制数据:包括,图片,音乐,影片.等. 在MYSQL中,BLOB类型使用LONGBLOB声明,最高可存储4G内容. 创建一个表: create table userblob ( id int(4) primary key not null auto_increment, name varchar(30), photo longblob ); 代码: package 类集; import java.sql.Connection ; import ja

java jdbc数据库操作

1 package shb.java.demo3; 2 3 import java.sql.DriverManager; 4 import java.sql.ResultSet; 5 import java.sql.SQLException; 6 import java.sql.Statement; 7 /** 8 * jdbc操作数据库 9 * @Package:com.cnpc.dlp.web.event.controller 10 * @Description: 11 * @author

jdbc数据库简要操作

JDBC操作步骤 1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可. 2.连接数据库:根据各个数据库的不同连接的地址也不同,此连接地址将由数据库厂商提供,一般在使用JDBC连接数据库的时候都要求用户输入数据库连接的用户名和密码,用户在取得连接之后才可以对数据库进行查询或更新的操作. 3.使用语句进行数据库操作:数据库操作分为更新和查询两种操作,除了可以使用标准的SQL语句之外,

二、JAVA通过JDBC连接mysql数据库(操作)

昨天时间限制只是写了如何连接数据库,连接数据库的目的无非就是查询.修改数据,仅仅连接上还是毫无意义的. 对于数据哭的操作就要用到Statement接口(java.sql.Statement)主要方法 int executeUpdate(String sql)throws SQLException 更新数据库 ResultSet executeQuery(String sql)throws SQLException 查询返回ResultSet结果集 代码演示 1 import java.sql.C

[数据库操作]Java中的JDBC的使用方法.

前言:想必大家在实际编码中都遇到过JDBC的操作, 这里仅做自己的一个总结, 有错误和不完整之处还请大家提出来. 1,JDBC其实一套规范(接口)数据库厂商需要实现此接口(实现类)--数据库驱动 2,jdbc的作用: 可以和数据库创建链接 发送sql语句 接收返回值,处理结果 3,api详解(java.sql或者javaX.sql) DriverManager 类: 管理一组 JDBC 驱动程序的基本服务. 常用方法: registerDriver(Driver):注册驱动 查看 mysql的D

Mybatis、JDBC、Habernate、Mybatis+Spring的Mysql数据库操作实例

1.数据库操作实例: public static void JDBCTest() throws Exception { Connection conn = null; String url = "jdbc:mysql://localhost:3306/mysql_learn?" + "user=root&password=123qwe&useUnicode=true&characterEncoding=utf8"; String select

androidj常用数据库操作JDBC Utils

package mypackage; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.u

JDBC数据库常用操作(mysql)

JDBC英文名称:JavaDataBaseConnectivity中文名称:java数据库连接简称:JDBCJDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 一.建立数据库连接 1.引用jar文件(http://dev.mysql.com/downloads/connector/j/ 下载jar文件) 2.注册驱动Class