猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL

2019-06-15 00:00:00 连接 开发 带你去

回顾一下之前,我们已安装了MySQL5.5,同时设定了密码Pass1234。所以打开【开始】-【程序】-【MySQL】-【MySQL5.5 Command Line Client】,也就是MySQL命令行客户端,可以对MySQL进行一些最基本的操作,如下图:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》

分别执行了show databases——展示所有数据库、use mysql——使用mysql数据库、show tables——展示mysql数据库中的表,三个命令,命令行界面给人一种高端神秘的感觉,但是猫哥觉得很不直观,所以给大家介绍一个非常好用的MySQL数据库管理工具——Navicat。

请自行百度下载安装Navicat for MySQL(猫哥使用的是10.0.11版本,各版本差距不大),安装过程是傻瓜式的下一步安装,此处不为表述。

打开Navicat,点击【连接】按钮连接到我们本机安装的数据库,如下图:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》
简单的解释下,【连接名】随个人喜好随便起就行,主机名或IP地址此处可以填写【localhost】或者【127.0.0.1】,这两个都是代表的本机,端口3306是我们安装MySQL时候设定的,用户名root是超级管理员的,密码是安装MySQL时候设定的Pass1234,输入完成后点击【连接测试】,提示连接成功后点击【确定】就OK了。

好的,我们建立一个【java】数据库,用来学习和测试,如下图,字符集建议选择utf-8,因为我们要使用中文嘛:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》

然后我们新建一张表student_info(学生信息表),如下图:《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》
需要注意几点:
1,id是唯一标识,name表示姓名,因为可能有重名的,所以我们用id唯一区分学生,注意id是主键(不能重复,右边那个钥匙一样的标志表示设置为主键),然后id是自动递增的,也就是从1开始自动加1,我们往这个表添加数据的时候,不用管id,它会自动增长。
2,猫哥建议列名不要直接起id、name,而是用student_id、student_name,因为表多了之后,字段和表明相关,容易帮我们区分,当然这是一个习惯问题。
3,类型int 表示数字型,varchar表示字符串类型,长度20表示最大长度。
建立完毕后,可以采用【ER图表】方式查看表结构,如图:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》
是不是很赞很直观。

OK,我们随意在这张表里输入几条数据:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》

数据库工具有了,此时就要用Java语言来跟数据库交互了。首先我们需要一个驱动,这个驱动的作用就是沟通Java和数据库(就像打印机驱动沟通打印机和我们的计算机一个道理)。从驱动下载下载该驱动,下载5.1.39版本即可。在Java目录下建立一个jar目录,将下载后解压的mysql-connector-java-5.1.39-bin.jar放在其中(以后下载的jar文件都放在里面,集中管理,体现了猫哥高端大气的管理思维…,实际上jar文件有多种放置方法,猫哥这是最懒的方法…)。

还记得我们那个神奇的WebSiteFirst项目吗,没关系,这次演示还是使用它,当然也可以另行建立一个Web Project,作为一个怀旧的人,猫哥依然用它。

右键点击这个项目,依次点击【Build Path】、【Configure Build Path..】、标签选择【Libraries】,按钮点击【Add External JARs..】,然后选中我们的mysql-connector-java-5.1.39-bin.jar后,点击OK。此时项目结构如图所示:
《猫哥带你去战斗——Java Web开发——Java篇[8]——连接MySQL》
可见我们的项目已经成功的引入该jar文件。

不容易啊,搞了半天还没写一句Java代码,终于开始了。先新建一个类就叫TestMysql。首先准备一些最基本的参数:

public class TestMysql {//用来测试使用MySQL数据库的第一个类
    public static void main(String[] args) {
        //基本参数
        String driver = "com.mysql.jdbc.Driver";//MySQL数据库的驱动程序名
        String url = "jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=utf-8";//数据库连接字符串
        String user = "root";//用户名
        String password = "root";//密码
    }
}

OK,接下来就是使用驱动程序连接MySQL了,代码如下:

import java.sql.*;
public class TestMysql {//用来测试使用MySQL数据库的第一个类
    public static void main(String[] args) {
        //基本参数
        String driver = "com.mysql.jdbc.Driver";//MySQL数据库的驱动程序名
        String url = "jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=utf-8";//数据库连接字符串
        String user = "root";//用户名
        String password = "Pass1234";//密码
        try{   
            Connection con=DriverManager.getConnection(url,user,password);   
            System.out.println("数据库连接成功");   
        }
        catch(SQLException ex){   
            System.out.println("数据库连接失败,原因"+ex.getMessage());   
        }   
    }
}

运行后,提示数据库连接成功,不过好像没什么意思,那可以把密码改成Pass12345,然后再运行提示:

数据库连接失败,原因Access denied for user 'root'@'localhost' (using password: YES)

这下,看来真的跟MySQL握手成功了。

相关文章