JDBC链接MySQL数据库基本操作方法之一

来源:互联网 发布:java byte二维数组 编辑:程序博客网 时间:2024/06/04 00:40

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

JDBC常用的接口和类:
DriverManager
驱动管理器获得数据库连接
-Connection
数据库连接接口
-Statement
语句接口用来静态操作SQL语句
-PrepareStatement
预定义语句,用来动态操作SQL数据库
-CallableStatement
用来调用存储过程的预定义语句
-Result
结果集,保存数据记录的结果集合
-ResultSetMetaData
结果集元数据,如列名称,列类型等
-DataBaseMetaData
数据元数据,如数据库名称,版本等

JDBC的编程步骤
-加载数据库驱动(jar文件)
-获得数据库连接
-创建语句
-执行查询
-遍历结果集
-关闭数据库连接

代码演示

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Test {    public static void main(String[] args) {        Connection conn =null;        try {        //加载数据库驱动(到JVM)         //这通过java.lang.Class类的静态方法forName(String  className)实现。          //或者采用 new com.mysql.jdbc.Driver();            Class.forName("com.mysql.jdbc.Driver");        /*  DriverManager.getConnection(url, user, password)      第一个参数:MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值      避免中文乱码要指定useUnicode和characterEncoding      执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定      第二个参数:用户名      第三个参数:密码         */            conn = DriverManager.getConnection(                "jdbc:mysql://localhost:3306/testmysql?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "");        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        }        //所有执行的sql语句        String sql = "select id,name,email from Customer";        try {    // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等            Statement stmt = conn.createStatement();    //ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。             ResultSet rs = stmt.executeQuery(sql);            while(rs.next()){        //ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些                   //行中数据的访问。                   //使用结果集(ResultSet)对象的访问方法获取数据:                int id = rs.getInt(1);                String name = rs.getString(2);                String email = rs.getString(3);                System.out.println(id+","+name+","+email);            }        } catch (SQLException e) {            e.printStackTrace();        }finally{            if(conn != null){                try {                    //关闭数据库                    conn.close();                } catch (SQLException e) {                    e.printStackTrace();                }            }        }    }}

数据库中的表

运行结果

1,big tom,qwe@163.com2,jane,jane@163.com3,rose,rose@163.com
1 0
原创粉丝点击