最近我们的JAVA课程讲到数据库,老师一直强调搭建数据库环境(JDBC)的重要性,刚好我的电脑前段时间重装过,也可以趁着这个机会再来回顾一遍JDBC的搭建。

说明:本文使用的JDBC框架是基于JAVA SE 1.8 & MySQL & Eclipse

工具下载:

MySQL V5.5(x64) 64位
MySQL V5.5(x86) 32位
要根据你电脑的情况选择相应的MySQL版本。我的电脑是64位,所以本篇文章是使用64位讲解的,如果有同学在使用32位版本的时候出现问题的可以随时联系我。

JDBC驱动(MySQL)

MySql 可视化工具 Front

一.安装配置MySQL

1.首先打开运行mysql-5.5.29-winx64.msi(就是上面的MySQL V5.5),你会进入到安装界面:

2.接下来。。。next->next。。。一直点击next,当你看到这样的界面:

这个是选择MySQL的安装目录。我的习惯是开发工具一般都选择默认的路径。当然你想使用其他路径也行,不过还是要提醒一点,路径不要包含中文
继续next。

这个是MySQL服务的端口号,我们最好不要修改,不过要记住这个值3306
然后next。。。欢迎你来到坑前!(我没让你踩呢,不急)

这个界面是设置我们MySQL系统的字符集。默认是让我们选择字符集”Latin1”,我就问你你知道这个是什么字符集吗。。。那你不要怪我孤陋寡闻,我第一次就是直接默认过去,最后发现,我的数据库不能使用中文!会出现乱码。然后也是折腾了好久才解决。

我们何不一开始就把问题解决呢对吧。这里我们选择第三项,然后选择字符集”gbk”,这个不用解释了吧。。。见下图:

继续next。看到设置管理员账号信息界面了吧:

选中第一个,然后输入密码(建议记性不好的同学使用密码”123456”。。。=。=)。设置好密码之后,你登陆MySQL的账号就是:
userName:root
password:***(你的密码)*

接下来嘛。。。等。。。wait。。。

不过相信我这个过程不会持续很久。Done:

3.接下来,检查下MySQL是否正确安装:
“我的电脑”->”管理”->”服务”。查看MySQL服务是否启动:

如果你发现你的MySQL尚未启动,可以在”运行”中使用”net start mysql”启动服务。然后在任务管理器中查看MySQL的运行状态:

二.使用MySQL数据库

我们已经成功安装好了MySQL数据库,那接下来就来热热身如何?
要使用MySQL数据库第一步当然是要进行身份验证,进入命令行界面,输入下面的指令(如果你使安装的时候使用的是默认的安装路径,一般是这个目录,如果使用了自定义目录就进入相应的目录就好了),进入MySQL安装目录下的bin文件夹(存放MySQL的开发工具):

cd C:\Program Files\MySQL\MySQL Server 5.5\bin

接下来进行身份验证,指令如下:

mysql -u你的用户名 -p你的密码

如果登陆成功,会看到如下这样的界面:

好了,现在可以使用MySQL数据库了。
接下来进行如下操作:

1.创建数据库TestJDBC:CREATE DATABASE TestJDBC;
2.使用TestJDBC数据库:USE TestJDBC;
3.创建UserInfo数据表(包含属性userName(char(10))、password(varchar(15))):CREATE TABLE UserInfo(userName char(10), password varchar(15));
4.插入数据:
INSERT INTO UserInfo VALUES('小炫', '111111');
INSERT INTO UserInfo VALUES('小铭杰JJ', '222222');
INSERT INTO UserInfo VALUES('小航', '333333');

不知道你有没有留意到我们的SQL语句都是以”;”结尾的,这显然不是SQL语法,我们在用DOS下操作MySQL时要求每一条语句后要带”;”。

操作过程如下(前方高能!!!)

CREATE DATABASE TestJDBC;

USE TestJDBC;

CREATE TABLE UserInfo(userName char(10), password varchar(15));

DESC UserInfo;  (查看表结构)

INSERT INTO UserInfo VALUES('小炫', '111111');
INSERT INTO UserInfo VALUES('小铭杰JJ', '222222');
INSERT INTO UserInfo VALUES('小航', '333333');

现在,我们创建了一个TestJDBC数据库,里面有一张数据表,里面包含三条数据:

SELECT * FROM UserInfo

三.使用JAVA连接、操作数据库

准备工作都搞定了,接下来进入正题啦。回到我们的老本行:使用JAVA操作数据库。
首先我们用一张图看清楚JDBC:

Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC是面向关系型数据库的。简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执行。

我们现在对照下上图,至今我们所做的工作已经把最底层的数据库搭建好了,要在JAVA程序中使用数据库,还需要:
* JDBC驱动器
* JDBC API
* JAVA 程序(这个是废话吗 -.-|||)

开始的开始,我们先在eclipse下创建一个JAVA项目(这个。。。不需要截图了吧。。。)

JDBC驱动器

就是我们之前下载好的JDBC驱动(MySQL):mysql-connector-java-5.1.7-bin.jar。
其实这个是一个由MySQL数据库提供的用来给JAVA连接MySQL数据库的第三方库,我们只要把这个库导入到我们的工程中去就好了。
1.新建用户环境变量:

变量名:CLASSPATH
变量值:;目录:mysql-connector-java-5.1.7-bin.jar

我是把jar文件直接放在c盘下,你当然可以放在其他地方,但还是那句,不要放在路径含有中文字符的目录。

2.把jar导入JAVA工程:
“工程名”->”Build Path”->Configure Build Path

“Add Library”->选中jar文件

添加成功之后,你会在你的项目视图中看到这个jar:

JDBC API

关于JDBC API嘛。上课老师已经讲得很清楚了。我这里就随便复习下。
要使用JDBC,有几个重要的类需要知道:

//重要的类:
java.sql.Connection;        //数据库连接实例
java.sql.DriverManager;     //数据库驱动管理类,调用其静态方法getConnection并传入数据库的URL获得数据库连接实例
java.sql.Statement;         //操作数据库要用到的类,主要用于执行SQL语句
java.sql.ResultSet;         //数据库查询结果集

JAVA程序

下面以MySQL为例,简单讲解下JAVA程序操作数据库的方法。

使用JDBC的步骤如下:
说明:
***JAVA工程已导入JDBC驱动器(jar);
考虑到数据库安全,我把我数据库的登陆信息封装起来放到了Values.java下:*

Values.java:

public class Values
{public static String DRIVER_MYSQL = "com.mysql.jdbc.Driver";    //MySQL JDBC驱动字符串public static String URL = "jdbc:mysql://localhost:3306/数据库名?"+ "user=用户名&password=密码&useUnicode=true&characterEncoding=UTF8";//数据库Url,用来标识要连接的数据库,其中数据库名、用户名、密码是根据你自己的数据库情况设定
}

1.在JAVA程序中加载JDBC驱动

Class.forName(Values.DRIVER_MYSQL);

2.创建数据库连接对象

Connection connection = DriverManager.getConnection(Values.URL);

3.创建Statement对象

Statement statement = connection.createStatement();

4.调用Statement对象相应的方法操作数据库

下面是我用于测试数据的Demo:
TestJDBC.java:

public class TestJDBC
{private Statement statement;public TestJDBC() {try{Class.forName(Values.DRIVER_MYSQL);     //加载JDBC驱动System.out.println("Driver Load Success.");Connection connection = DriverManager.getConnection(Values.URL);    //创建数据库连接对象statement = connection.createStatement();       //创建Statement对象} catch (Exception e){// TODO Auto-generated catch blocke.printStackTrace();}}/** 根据sql查询数据库,返回一个结果集* 输    入:SQL语句* 返回值:ResultSet 查询结果*/public ResultSet query(String sql) {ResultSet result = null;try{result = statement.executeQuery(sql);} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}return result;}/** 打印UserInfo表的数据* 输    入:结果集(数据表)* 返回值:空*/public void printUserInfo(ResultSet result) {try{while(result.next()) {System.out.println("userNname:" + result.getString(1) + ", password:" + result.getString(2));}} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}}/** 执行数据操作* 输    入:SQL语句* 返回值:空*/public void executeSql(String sql) {try{statement.execute(sql);} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args){// TODO Auto-generated method stubString sql = "SELECT * FROM UserInfo";TestJDBC db = new TestJDBC();ResultSet result = db.query(sql);db.printUserInfo(result);}}

看看上面我们做了什么,首先我们把操作JDBC的准备工作放在了构造方法中,一旦我们创建了TestJDBC对象,就获得了数据库连接和一个对应的Statement对象。然后是在类中定义了三个方法:
* ResultSet query(String sql)
* void executeSql(String sql)
* void printUserInfo(ResultSet result)

这几个方法都是封装了JDBC API之后用来操作数据库用的,具体的功能在代码上已经注释好。在主函数中,我们首先创建了一个TestJDBC对象,之后执行查询语句,获得UserInfo表的所有数据并打印出来。运行程序,得到下面的结果:

现在我们在主函数中加入插入数据的代码:

public static void main(String[] args){// TODO Auto-generated method stubString sql = "SELECT * FROM UserInfo";TestJDBC db = new TestJDBC();db.executeSql("INSERT INTO UserInfo VALUES('小明', '666666')");   //插入一条数据ResultSet result = db.query(sql);db.printUserInfo(result);}

运行程序,得到下面的结果:

说明我们插入数据成功!

四.MySQL可视化工具MySQL-Front:使用图形界面操作MySQL

前面我们一直是在指令操作MySQL,对于单单的插入删除查询数据的操作还是可以接受的,但如果要我们使用指令来用T-SQL编写SQL程序。。。我的天!调试会死人的吧。所以我们还是要掌握下MySQL-Front的使用方法的,我确信你会更倾向于图形操作。
首先是安装MySQL-Front,这个就更简单了,直接下一步,下一步。。。

安装好之后运行MySQL-Front,要先进行一些配置,这里就不是可以随便改的了,这些配置要根据我们的MySQL数据库来配置,如果我们没有另外定义Host和端口号的话,你只要这样设置就好了:

数据库呢,就选择我们之前建好的数据库就好了,当然在里面你也可以新建数据库的。

打开,进入我们的MySQL数据库。打开”testjdbc”我们可以看到我们之前创建的数据库,

查看数据表的结构


查看数据表当前数据


现在我们来执行一条插入语句:

INSERT INTO UserInfo VALUES('小B', '555555')

点击运行,接下来再看下数据表数据:


新的数据已经插入到数据表(可能你不会一下子就看到新的数据,这个时候我们只要刷新一下。什么!还没看到!那肯定是你的SQL语句有错了。)

最后我们回到之前的JAVA Demo,运行程序,结果如下:

天啊!不知不觉就完成了JDBC的搭建和测试了!
YEAH!是不是很nice!

Demo下载地址:JdbcForMySQLDemo

JAVA 访问MySQL数据库(使用方法及测试)相关推荐

  1. MySql数据库记录相差14小时排错,使用Java访问Mysql数据库时出现时区异常的解决方案

    最近遇到1个大坑,A系统迁移到B系统,2边系统 同1个字段 createTime 看到的不一致. 表象: A系统: 2019-6-10 17:34 B系统: 2019-6-11 .... 再次尝试: ...

  2. C#访问MySQL数据库的方法

    (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/net/6.0.html 我下载的版 ...

  3. 使用Java访问Mysql数据库时出现时区异常的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 问题来源:将Mysql5.6版本升级到8.0.12版本后,Java在访问Mysql数据库时出现如下异常: java.sql.S ...

  4. MySQL——Java 访问 MySQL 数据库

    一.   下载与安装 MySQL   Connector/J MySOL  驱动  MySQL Connector/J  下载网站 https://dev.mysql.com/downloads/co ...

  5. mysql入门很简单.java_MySQL入门很简单: 15 java访问MySQL数据库

    1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...

  6. java 访问access数据库_使用JAVA访问ACCESS数据库的方法

    这里采用的是配置ODBC数据源的方式. 所以首先需要进行数据源的配置工作: 创建ODBC过程: 控制面板-->管理工具--〉数据源. 选择"系统DSN"--〉"添加 ...

  7. java mysql读取多条数据_myeclipse 使用Java访问mysql数据库,数据库中有多条记录,为何只能读出一条数据??...

    Java源代码如下:publicListgetAllMsgList(){ListmsgList=newArrayList();DBConnectiondb=newDBConnection();Conn ...

  8. c 直接访问mysql_C语言访问MySQL数据库的方法

    1.添加头文件路径(MySQL安装路径中的include路径) 2.添加库文件(直接从MySQL安装路径中copy libmysql.lib即可) 3.编程操作数据库// AccessToMySQL. ...

  9. c访问mysql数据库_C语言访问MySQL数据库的方法

    1.添加头文件路径(MySQL安装路径中的include路径) 2.添加库文件(直接从MySQL安装路径中copy libmysql.lib即可) 3.编程操作数据库 代码 // AccessToMy ...

最新文章

  1. python上海培训哪里比较好-上海Python培训哪家强
  2. 想当然是编程最大的坑,记更新删除过期cookie无效有感
  3. 在VS中巧用文件系统来发布网站
  4. testng入门教程5TestNG套件测试
  5. JavaScript|拖拽|仿Android手机九点连线开锁
  6. python怎样填充颜色_python中如何给图形填充颜色
  7. file android closed,Reading a json file in Android [closed]
  8. 聚类算法:kmeans
  9. POJ 1981 Circle and Points 单位圆覆盖
  10. 【COM范例】WM上获取短信内容,AcitiveX控件调用页面JS方法
  11. windows10 64位 JDK1.8 下载
  12. 让AngularJS兼容IE8及其以下浏览器版本的方法
  13. JavaScript的语句可以不用分号结尾么?
  14. 七种常见的数据分析法之:对比分析法
  15. SpringBoot+Vue项目的PDF导出及给PDF文件盖章的功能示例
  16. javaee实训报告总结_javaee实训总结
  17. windows2008 FTP下载“当前的安全设置不允许”的解决方法
  18. unity中Loding.UpdatePreloading占用CPU过高如何解决?
  19. wps表格打印怎么铺满a4纸
  20. 迷你csgo饰品租赁系统

热门文章

  1. 动态规划--数位dp--二进制状态压缩
  2. 使用Selenium WebDriver进行闪存测试
  3. Python-自动化测试之接口基础
  4. 冶炼金属【暴力枚举 + 二分 + 二元不等式】
  5. 第二题:编写程序,将华氏度转换为摄氏度
  6. O2O、C2C、B2B、B2C
  7. 龙芯智龙开发板:驱动步进电机实战入门
  8. asp.net 动态修改css样式,ASP.NET中直接用C# 动态修改CSS样式
  9. 出现警告:warning Replace `‘xxx‘` with `“xxx“` prettier/prettier,关闭Prettier代码格式化工具
  10. mysql自愈_数据库跨地域容灾自愈最强攻略来了!