【MySQL】JDBC数据库连接和实例(mysql/oracle)


一、JDBC介绍

ODBC:也可以连接数据库,但比较麻烦,为了连接对应数据源的应用程序
JDBC:J是Java,是面向接口;Java是面向接口编程;

二、JDBC职责

①Java:客户端——接收数据、拼接sql,发送sql,分析结果、返回结果browser

②db:服务器——接收sql,分析处理,返回结果给java

③数据库连接池:提高效率,不用反复的连接、断开
例如:G3P0、DBCP、Druid…

④连接协议:TCP SSH(虚拟机)

三、基础操作

-	驱动:java.sql.Driver
-	连接:java.sql.Connection
-	静态处理块:java.sql.Statement
-	预处理块:java.sql.PreparedStatement
-	结果集:java.sql.ResultSet
-	结果集元数据:java.sql.ResultSetMetaData

四、数据库连接方式

//MySQL:
	String Driver="com.mysql.jdbc.Driver";	//驱动程序
	String URL="jdbc:mysql://localhost:3306/db_name";	//连接的URL,db_name为数据库名
	String Username="username";	//用户名
	String Password="password";	//密码
	Class.forName(Driver);
	Connection con=DriverManager.getConnection(URL.Username.Password);

//Oracle:
	String Driver="oracle.jdbc.driver.OracleDriver";	//连接数据库的方法
	String URL="jdbc:oracle:thin:@//localhost:1521:orcl";	//orcl为数据库的SID
	String Username="username";	//用户名
	String Password="password";	//密码
	Class.forName(Driver);
	Connection con = DriverManager.getConnection(URL.Username.Password);

五、实例

import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCTest {
    
    
    public static void main(String[] args) throws ClassNotFoundException {
    
    

        // 1、加载驱动:当执行了当前代码之后,会返回一个Class对象,在此对象的创建过程中,会调用具体类的静态代码块
        Class.forName("oracle.jdbc.driver.OracleDriver");

        // 2、建立连接:第一步中已经将driver对象注册到了drivermanager中,所以此时可以直接通过DriverManager来获取数据库的连接
        // 需要输入连接数据库的参数:url(数据库的地址)、username(用户名)、password(密码)
        //thin:代表通过TCP协议的连接方式(其他方式:oci);oci:客户端连接方式(oci.dll缺少的话去网上下载即可);localhost:地址;1521:端口号(固定的);orcl:对应的数据库实例名;scott:用户名;tiger:密码
        Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");

        // 3、测试连接是否成功
        System.out.println(connection);

        // 4、定义sql语句:填写正常执行的sql即可
        String sql = "select * from emp";

        //5、准备静态处理块对象,将sql语句放置到静态处理块中,理解为sql语句放置对象;
        // 在执行sql语句的过程中,需要一个对象来存放Sql语句,将对象进行执行时调用的是数据库的服务,数据库会从当前对象中拿到对应的sql语句进行执行
        Statement statement = connection.createStatement();

        // 6、执行sql语句,返回值对象是结果集合
        // 将结果放到resultset中,是返回结果的一个集合;
        // 需要经过循环迭代才能获取到其中的每一条记录
        // statement在执行时可以选择三种方式:
        //	 ①execute:任何SQL语句都可以执行
        //	 ②executeQueryL:只能执行查询语句
        //	 ③executeUpdate:只能执行DML(数据库操作语言:增删改查)语句
        ResultSet resultSet = statement.executeQuery(sql);

        // 7、循环处理
        // 使用while循环,有两种获取具体值的方式;第一种:通过下标索引编号来获取;第二种是通过列名来获取;
        // 推荐使用列名,因为一般列名不会发生变化;
        while (resultSet.next()) {
    
    
            int anInt = resultSet.getInt(1);
            System.out.println(anInt);
            String ename = resultSet.getString("ename");
            System.out.println(ename);
            System.out.println("--------------------------");
        }

        // 8、关闭连接
        statement.close();
        connection.close();
    }
}


猜你喜欢

转载自blog.csdn.net/weixin_42835409/article/details/114223248