Java DataBase(JDBC)

A brief review of Database

Database (DB):

  an organised collection of data

  Relational DBs (first published by Edgar F. Codd (IBM) in 1970) store data in:

  tables A table in a database consists of:

  rows & columns

    Rows: records

    Columns: attributes of the records

  SQL:

  Structured Query Language, The industry standard database query language (relational Database)

A brief review of Database (cont.)

  SELECT NAME, ID FROM STUDENT WHERE GENDER=‘MALE’;

  INSERT INTO STUDENT VALUES ( 6, ‘MARY’, ‘FEMALE’ );

   DELETE FROM STUDENT WHERE NAME=‘JERRY’; DROP TABLE STUDENT;

Overview of JDBC cont.

  Java DataBase Connectivity: java.sql

  Major components in JDBC:

  JDBC API gives access of programming data from the Java. By using JDBC API, applications can execute SQL statements and retrieve results and updation to the database. It standardise:

  -Way to establish connection to database

  -Approach to initiating queries

  -The data structure of query result

  -It does NOT standardise SQL syntax

  -JDBC Driver Manager is the class in JDBC API.

  -The objects of this class can connect Java applications to a JDBC driver

How to use JDBC

  Establishing a connection to DB

  Create a Statement instance to conduct SQL statements

  Execute queries from JDBC

  Receive, hold and process query results from DB

  Check meta-information of results & databases

1)Establish a connection

  Creates instance of a Connection object

  Connection conn = DriverManager.getConnection( “url”, “username”, “password”); [throws SQLException]

  String url= "jdbc:derby: // localhost:1527/ CarDB; create=true";

return Connection object:Creates a Statement object for sending SQL statements to the database.

2)Statement

  Statement: object that can accept and execute a string that is a SQL statement

  Statement statement = conn.createStatement();

  Executing statements:

  statement.executeXXXXX("a SQL statement");

  exa:

  executeUpdate: for database modifications //数据库的修改

  executeQuery: for database queries //数据库的查询

  Execute DB update statement:

  statement.executeUpdate(“CREATE TABLE CARTABLE”);

例子:

  public void createTable() {

     try{

    Statement statement=conn.createStatement(); //创建一个新的statement

    String newTable="cartable"; //tablename

    statement.executeUpdate("drop table if exists "+newTable); //更新

    String sqlCreateTable="CREATE TABLE "+newTable+" (ID INT, " + "MAKE VARCHAR(50), MODEL VARCHAR(50), PRICE INT )";

    statement.executeUpdate(sqlCreateTable);//更新数据库

    } catch (SQLException ex) {

     System.err.println("SQLException: " + ex.getMessage());

    }

  }

Query Statement //数据查询

  Execute DB Query statement:

  ResultSet: an object of type ResultSet is like a cursor(光标)

  next() advances cursor to next tuple(数组):

  The first time next() returns the first tuple

  If no more tuples then next() returns FALSE

  Accessing components of a tuple:

  getXXX(attribute name OR column index)

  ResultSet rs=Statement.executeQuery(“SELECT * FROM CAR”);

  while (rs.next()) {

  String attribute1= rs.getString(“A1”);

  int attribute2= rs.getInt (2);

   }

  More methods control the cursor:

   previous(): moves the cursor backwards one row.Returns true if the cursor is now positioned on a row and false if the cursor is positioned before the first row.

   first()/last(): moves the cursor to the first/last row

   afterLast(): moves the cursor to the end of this ResultSet object, just after the last row

   beforeFirst(): moves the cursor to the front of this ResultSet object, just before the first row

  public ResultSet getQuery() { //数据库结果集的数据表

   ResultSet rs=null;

  try {

  Statement statement=mysqlConn.createStatement();

  String sqlQuery="select model, price from car " + "where brand=‘toyota‘“;

  rs=statement.executeQuery(sqlQuery);

  while( rs.next() ) {

  String model= rs.getString ("model");

  // String model= rs.getString (1);

   int price = rs.getInt(2);

   System.out.println(model+": $"+price);

  }

  System.out.println("Table created");

   } catch (SQLException ex) {

   Logger.getLogger(DBOperations.class.getName()).log(Level.SEVERE, null, ex);

   }

  return(rs);

   }

ResultSet metadata:

  ResultSetMetaData: objects that can hold ResultSet metadata

  ResultSetMetaData rsmd = rs.getMetaData();

  To get number of columns: rsmd.getColumnCount();

  To get the table name of a given column in the result set: rsmd.getTableName(int);

  To get data type of a given column: rsmd.getColumnType(int);

Closing:

Close ResultSet:

  rs.close( );

Close Statement:

  statement.close( );

Close Connection:

  conn.close( );

A statement will be closed if the connection instance it belongs to is closed;

A resultset will be closed if the statement instance it holds results for is closed.

时间: 2024-11-15 11:16:03

Java DataBase(JDBC)的相关文章

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

一、JAVA通过JDBC连接mysql数据库(连接)

JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java 语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API. JDBC API定义了若干Java中的类,表示数据库连接.SQL指令.结果集.数据库元数据等.它允许Java程序员发送SQL指令并处理结果.通过驱动程序管理器,JDBC API可利用不同的驱动程序连接不同的数据库

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

java database connectivity

前言 jdbc是一种用来在java程序中执行sql的api,它为java连接数据库提供了一组接口和类. 正文 jdbc使用步骤 连接数据库的过程:java app->jdbc api ->driver; 准备连接数据库的相关数据 1.获得当前数据库连接的用户名和密码 2.获得数据库服务器的地址(ip) 3.获得数据库连接的端口号 oracle默认的是1521 4.获得书库的实例sid,即数据库名称 获得连接字符串 url=jdbc:oracle:thin:@ip:port:sid 获得对应数据

Java使用Jdbc操作MySql数据库(一)

这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. 一.首先将mysql-connector-java-5.1.26-bin.jar开发包复制到lib文件夹中,并且Build Path->Add Build Path. 二.创建User类,用于封装从数据库读出来的数据. 1 package com.mylx.database; 2 3 public

Java数据库连接——JDBC基础知识(操作数据库:增删改查)

一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库.比如建立数据库连接.执行SQL语句进行数据的存取操作. JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数据库 创

Java通过JDBC进行简单的增删改查(以MySQL为例)

Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作   (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,

java概念 -- JDBC

JDBC(Java DataBase Connectivity, java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成. 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据

Java使用JDBC连接SQL Server数据库|实现学生信息系统

Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括如下字段:学号.姓名.性别.得分,字段类型自行定义.学号为主键. 接着使用JDBC编写Java程序,完成如下任务: (1)在表格scores插入5条记录,代表5个学生,三位男生二位女生,各字段内容自定("得分"字段填入自定分数): (2)显示5位学生的所有信息: (3)将三位男生的得分减去