Java 连接 MySQL
Posted tuww
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 连接 MySQL相关的知识,希望对你有一定的参考价值。
使用环境
- jdk 1.8
- mysql 8.0
- idea 2019
具体过程
1、自定义安装mysql时,需要勾选Connector/J。
然后可以在安装目录C:\\Program Files (x86)\\MySQL\\Connector J 8.0
下找到
mysql-connector-java-8.0.15.jar
jar包,即为java连接mysql的驱动程序。
2、将驱动程序复制到jre的lib目录下。
即,将mysql-connector-java-8.0.15.jar
复制到
C:\\Program Files\\Java\\jdk1.8.0_211\\jre\\lib
中
3、利用idea新建一个普通空java项目
然后File —> Project Structure,或Ctrl+Alt+Shift+S
打开如下图所示窗口:
4、在数据库中新建数据表
/*
Navicat MySQL Data Transfer
Source Server : @localmysql
Source Server Version : 80015
Source Host : localhost:3306
Source Database : javademo
Target Server Type : MYSQL
Target Server Version : 80015
File Encoding : 65001
Date: 2019-05-28 16:25:05
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', '张三', '165');
INSERT INTO `student` VALUES ('2', '历史', '45');
INSERT INTO `student` VALUES ('3', '浮点', '32');
INSERT INTO `student` VALUES ('4', '法法', '54');
5、编写连接数据库的java代码
package com.tuweiwei;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class demo01 {
public static void main(String[] args) {
// Connection 是java.sql包下的类,表示数据库连接
Connection conn;
// 驱动程序名
String driver = "com.mysql.cj.jdbc.Driver";
// 指定要连接的数据库,这里我的数据库名为 javademo
String jdbcUrl = "jdbc:mysql://localhost:3306/javademo?serverTimezone=UTC";
// 数据库用户名
String userName = "root";
// 数据库密码
String userPwd = "111111";
try {
// 加载驱动程序
Class.forName(driver);
// 连接数据库
conn = DriverManager.getConnection(jdbcUrl, userName, userPwd);
if (!conn.isClosed()) {
System.out.println("Succeeded connecting to the Database!");
}
// java.sql包的Statement类,表示数据库的语句
Statement statement = conn.createStatement();
// 真实的SQL代码
String sql = "select * from t_test_user";
// java.sql包的ResultSet类,表示数据库的查询结果集
ResultSet rs = statement.executeQuery(sql);
String name = null;
String age = null;
while (rs.next()) {
name = rs.getString("name");
age = rs.getString("age");
System.out.println(name+"\\t"+age);
}
rs.close();
conn.close();
}
catch (Exception e){
System.out.println(e);
}
}
}
遇到的问题
1、驱动包是 com.mysql.jdbc.Driver 而安装了 mysql 8.0过后要改成 com.mysql.cj.jdbc.Driver
2、java.sql.SQLException: The server time zone value ‘?D1ú±ê×?ê±??‘ is unrecognized or represents more than one time
提示系统时区出现错误,可以在mysql中执行命令:
set global time_zone=‘+8:00‘
或者在数据库驱动的url后加上serverTimezone=UTC参数
以上是关于Java 连接 MySQL的主要内容,如果未能解决你的问题,请参考以下文章