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

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.com
2,jane,jane@163.com
3,rose,rose@163.com
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值