Java连接mysql数据库

Mysql数据库是一个金典的 关系型数据库.有着很大的用户,在这里,我将带大家来学习下mysql数据库.我们的程序生成的数据一般

放在数据库里面.那么问题来了。java程序是如何连接到数据库了。在这里java是通过数据库厂商提供的jar包来实现和数据库的连接的。mysql数据库所谓最新jar包已经到了8版本了。

要想使用java程序连接mysql数据库,首先必须要真确的安装MySQL数据库软件.

接下来就是下载mysql数据库的驱动jar包,目前已经是8版本了。直接去官网下载姐可以.

地址如下:https://dev.mysql.com/downloads/connector/j/

直接进入,选择,Java连接mysql数据库_第1张图片

这里,下载下面的哪一个版本,至于着两个包之间有啥区别,我也不知道。下载解压之后,就可以。此时我们要解压到一个

一个好找的地方.

.如何在idea里面加载我们的包了。

选择file--------->项目结构----------》选择modules----->选择依赖项目-----》最右边的+好点击-------》初选jars  and  dectionary。此时导入我们的jar包就可以了。此时外部的jar包已经导入到我们的项目里面。

 

下面来看看代码吧。

package Test;

import java.sql.*;

/**
 * @author hackbase   Java连接数据库的测试程序.
 */
public class Demo2 {
    public static void main(String[] args) {
        //加载数据库的驱动类,通过反射机制来实现的.
        Connection con;
        //这里我的数据库是school
        String url = "jdbc:mysql://localhost:3306/school?&useSSL=false&serverTimezone=UTC";
        String username = "root";
        String password = "1987luoliang";
        //jdbc驱动
        String driver = "com.mysql.cj.jdbc.Driver";

        try {
            Class.forName(driver);
            //建立链接.
            try {
                con = DriverManager.getConnection(url, username, password);
                if (!con.isClosed()) {
                    System.out.println("数据库连接成功");
                    //测试是否能够执行sql语句.
                    Statement stmt = con.createStatement();
                    String sql;
                    sql = "select name, year,address from teacher";
                    ResultSet ret = stmt.executeQuery(sql);
                    //执行这条sql语句.
                    while (ret.next()) {
                        //取出内容,打印在控制台.
                        String name = ret.getString("name");
                        String address = ret.getString("address");
                        Date date = ret.getDate("year");
                        System.out.println("name:" + name);
                        System.out.println("Address:" + address);
                        System.out.println("Year:" + date);
                    }

                }
                //关闭数据库。
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("数据库链接失败");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动没有安装");
        }


    }
}

在这个程序里面,我们又一个数据库school

Java连接数据库的几个步骤.

1.加载数据库驱动类。这个驱动类是通过java的反射机制来获得的.

数据库驱动类是连接数据库和程序之间的桥梁,是通过反射机制来实现的。

注意mysql5及之前的版本使用的是旧版驱动"com.mysql.jdbc.Driver",

mysql6以及之后的版本需要更新到新版驱动,对应的Driver是"com.mysql.cj.jdbc.Driver"

如果驱动类加载不正确的话,会抛出错误,大家可以去测试一下这个驱动类是由驱动厂商提供的,由于数据库由很多,常见的

数据库由MySQL  ,oracel,db2,sqlServer,Mongodb等等。因此他们的驱动类是不同的。

 

其中java.sql是sun官方提供的包,java.sql.Driver是sun提供的一组用于连接数据库的接口之一,由数据库厂商自行实现

由上可知,com.mysql.cj.jdbc.Driver这个驱动类,是对java.sql.Driver接口的实现。

2.创建数据库的连接对象.

DriverManager.getConnection(url, username, password);

使用的是DriverMabager提供的一个静态的方法。该方法由三个参数,

1.url  表示要连接的数据库的地址.

"jdbc:mysql://localhost:3306/school?&useSSL=false&serverTimezone=UTC";

由于MySQL数据库的默认单口是3306.school代表的就是连接的是表school这个数据库。后面两个参数一个是设置数据库服务器的时区为utc也就是国际标准时区。ssl是一个安全的协议,是网络安全套接字的简称。在高版本的驱动jar包里面,必须设置这两个参数,否则编译器会抛出异常。

2.第二个参数就是数据库的用户名,MySQL数据库的根用户一般是root。

3.第三个参数就是数据库的密码

到这里如果不出意外的情况下,我们的MySQL数据库算是连接成功了。数据库连接成功了,会产生一个连接对象.

在这里要注意的两点就是

1.jar包的版本不兼容的问题我们一定要导入最新的jar包.

2.其次就是要注意的就是url。就是要连接数据库的url。不要写错.

String url = "jdbc:mysql://localhost:3306/school?&useSSL=false&serverTimezone=UTC";

数据库连接成功之后,我们就可以使用sql语句来操作数据了。首产生先sql语句的执行对象。就是我们的stmt对象了。

调用该对象的

stmt.executeQuery(sql);方法,就可以执行我们的sql语句了。注意他又一个参数,就是我们要执行的sql语句。会返回一个

执行结果集的对象。调用对象的next方法,就可以取出从数据库获得的数据了。

 while (ret.next()) {
                        //取出内容,打印在控制台.
                        String name = ret.getString("name");
                        String address = ret.getString("address");
                        Date date = ret.getDate("year");
                        System.out.println("name:" + name);
                        System.out.println("Address:" + address);
                        System.out.println("Year:" + date);
                    }
ResultSet ret = stmt.executeQuery(sql);
  Statement stmt = con.createStatement();

 

这就是JAVA连接mysql数据库的操作了。开始学习,由写不正确的地方,希望大家多指点。在下一篇的博客里面,我们来进行深入的分析下。有问题,多多的指点。学习编程,就是多写代码.

在下一篇的章节里面,我将深入的分析内部机制。

 

 

你可能感兴趣的:(MySQL)