回顾一下之前,我们已安装了MySQL5.5,同时设定了密码Pass1234。所以打开【开始】-【程序】-【MySQL】-【MySQL5.5 Command Line Client】,也就是MySQL命令行客户端,可以对MySQL进行一些最基本的操作,如下图:
分别执行了show databases——展示所有数据库、use mysql——使用mysql数据库、show tables——展示mysql数据库中的表,三个命令,命令行界面给人一种高端神秘的感觉,但是猫哥觉得很不直观,所以给大家介绍一个非常好用的MySQL数据库管理工具——Navicat。
请自行百度下载安装Navicat for MySQL(猫哥使用的是10.0.11版本,各版本差距不大),安装过程是傻瓜式的下一步安装,此处不为表述。
打开Navicat,点击【连接】按钮连接到我们本机安装的数据库,如下图:
简单的解释下,【连接名】随个人喜好随便起就行,主机名或IP地址此处可以填写【localhost】或者【127.0.0.1】,这两个都是代表的本机,端口3306是我们安装MySQL时候设定的,用户名root是超级管理员的,密码是安装MySQL时候设定的Pass1234,输入完成后点击【连接测试】,提示连接成功后点击【确定】就OK了。
好的,我们建立一个【java】数据库,用来学习和测试,如下图,字符集建议选择utf-8,因为我们要使用中文嘛:
然后我们新建一张表student_info(学生信息表),如下图:
需要注意几点:
1,id是唯一标识,name表示姓名,因为可能有重名的,所以我们用id唯一区分学生,注意id是主键(不能重复,右边那个钥匙一样的标志表示设置为主键),然后id是自动递增的,也就是从1开始自动加1,我们往这个表添加数据的时候,不用管id,它会自动增长。
2,猫哥建议列名不要直接起id、name,而是用student_id、student_name,因为表多了之后,字段和表明相关,容易帮我们区分,当然这是一个习惯问题。
3,类型int 表示数字型,varchar表示字符串类型,长度20表示最大长度。
建立完毕后,可以采用【ER图表】方式查看表结构,如图:
是不是很赞很直观。
OK,我们随意在这张表里输入几条数据:
数据库工具有了,此时就要用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。此时项目结构如图所示:
可见我们的项目已经成功的引入该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握手成功了。