【Java学习笔记】54:CentOS下安装MySQL的JDBC驱动并尝试连接 您所在的位置:网站首页 java安装mysql驱动 【Java学习笔记】54:CentOS下安装MySQL的JDBC驱动并尝试连接

【Java学习笔记】54:CentOS下安装MySQL的JDBC驱动并尝试连接

2023-12-30 00:03| 来源: 网络整理| 查看: 265

准备工作 打开MySQL服务 [root@hostlzh lzh]# mysqld_safe & [1] 21768 [root@hostlzh lzh]# 180209 12:55:11 mysqld_safe Logging to '/var/log/mysqld.log'. 180209 12:55:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 新建数据库

注意数据库名,表名,字段名等如果要加引号,在MySQL里加的是反引号。

mysql> CREATE DATABASE IF NOT EXISTS `testJDBC` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | | testJDBC | +--------------------+ 4 rows in set (0.02 sec) 新建数据表 mysql> USE testJDBC; Database changed mysql> CREATE TABLE `MyUsr` -> ( -> `id` SMALLINT NOT NULL, -> `name` CHAR(4) NOT NULL, -> `age` SMALLINT, -> PRIMARY KEY(`id`) -> ); Query OK, 0 rows affected (0.10 sec) mysql> SHOW TABLES; +--------------------+ | Tables_in_testJDBC | +--------------------+ | MyUsr | +--------------------+ 1 row in set (0.00 sec) 插入一些数据 mysql> INSERT INTO `MyUsr` -> (id,name,age) -> VALUES -> (1,'lzh',20), -> (2,'pikachu',4), -> (3,'aaa',19); Query OK, 3 rows affected, 1 warning (0.00 sec) Records: 3 Duplicates: 0 Warnings: 1 确认一下 mysql> SELECT * FROM MyUsr; +----+------+------+ | id | name | age | +----+------+------+ | 1 | lzh | 20 | | 2 | pika | 4 | | 3 | aaa | 19 | +----+------+------+ 3 rows in set (0.00 sec) 安装MySQL驱动

教材上用的windows系统,把驱动放在jdk的lib目录下的扩展目录(ext目录)之下,但是我的linux下的jdk没有找到ext目录。

[root@hostlzh jdk1.8.0_11]# ls bin jre release COPYRIGHT lib src.zip db LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt include man THIRDPARTYLICENSEREADME.txt javafx-src.zip README.html [root@hostlzh jdk1.8.0_11]# ls ./lib ant-javafx.jar ir.idl missioncontrol visualvm ct.sym javafx-mx.jar orb.idl dt.jar jconsole.jar sa-jdi.jar i386 jexec tools.jar

总之先下载下来,/connector/j/意思就是给JDBC用的驱动,我选择了Platform Independent(平台独立的)tar包。

把下载好的.tar.gz包解压,在文件夹里就能看到jar包,我的是mysql-connector-java-5.1.45-bin.jar,这个jar包的路径暂时就不要动了。

新建一个工程,右键,BuildPath,Add External Archives...,选择这个jar包确定,这个jar包就被引用到这个工程里了,驱动就可以用了。

这时工程中也多了一个Referenced Libraries目录:

还有一种方式是去修改CLASSPATH,我怕会影响我的linux系统使用的老版本java环境,暂时还是用前面这种保守的方式吧。

尝试连接

暂时先不去深究,能连上才能用啊。

import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; public class Main { public static void main(String[] args) { try { // 要求JVM查找并加载指定的类 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 声明一个sql连接对象 java.sql.Connection con = null; String uri = "jdbc:mysql://127.0.0.1:3306/testJDBC? useSSL=true"; String user = "root"; String password = "3838438"; try { // 和指定的数据库建立连接 con = DriverManager.getConnection(uri, user, password); } catch (SQLException e) { e.printStackTrace(); } try { // 用Statement声明一个SQL语句对象,用createStatement()创建之 java.sql.Statement sql = con.createStatement(); // 对数据库进行查询,返回ResultSet对象 ResultSet rs = sql.executeQuery("SELECT * FROM MyUsr"); // 一行一行查看查询结果 while (rs.next()) { int id = rs.getInt(1); String name = rs.getString(2); int age = rs.getInt(3); System.out.println(id + " " + name + " " + age); } } catch (SQLException e) { e.printStackTrace(); } // 最后关闭连接 try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } }

输出

1 lzh 20 2 pika 4 3 aaa 19

这是相当于把数据库和后端查询数据库的程序都放在一台主机上,所以不用考虑网络问题,而且地址只要写本地环回地址127.0.0.1就可以了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有