IDEA下实现JDBC连接MySQL数据库
- 摘要
- 1.本地安装Java环境(略)
- 2.本地安装Tomcat(安装包版)
- 3.本地创建IDEA JavaEE 项目(Web项目)
- 4.本地成功创建JDBC连接MySQL
- 5. 简单的数据读取
- 运行常见错误
摘要
本文主要介绍如何用IDEA新建一个JavaEE项目(Web),并用JDBC连接MySQL数据库,并进行简单的数据读取
1.本地安装Java环境(略)
2.本地安装Tomcat(安装包版)
(1) 进入Tomcat官网
(2)选择想要下载的版本,这里我下载的是Tomcat 8,目前比较常用的一个版本
(3)选择需要安装的版本,这里我下载的是安装包形式
(4)下载完成后,打开安装包
(5)点击next
(6)点击I Agree
(7)默认即可,点击next
(8)端口号初始为-1,这里建议修改,此次我改为80
(9)进入到“Java Virtual Machine”界面,默认已经找到JRE的路径,如果没找到或路径错误可以手动配置JRE的路径,然后点击“Next”按钮
(10)点击next,之后会出现Tomcat安装路径选择,一般默认安装到C盘,可以直接把C改成D,没有的文件夹会自动创建。修改完毕后点击Install
(11)安装完成
现在Tomcat已经成功在本地安装了
3.本地创建IDEA JavaEE 项目(Web项目)
(1)打开IDEA
(2)新建项目
(3)由于要创建Web项目,所以勾选WebApplication,其余默认
(4)这里有关Tomcat的一些配置,Tomcat是刚才下好的版本
(5)这个是刚才安装的Tomcat的默认路径
(6)都配置完成后点击next,这里是项目名称和存储路径修改,一切配置完成后点击finish
(7)这个是刚刚创建项目的目录结构
(8)如果刚才Tomcat没配置好,在这里还可以查看Tomcat的相关配置
(9)这是相关的配置信息
(10)都配置完成后我们转到项目目录下,点击index.jsp文件,将body里添加一些信息用来测试JavaWeb项目是否可以成功运行
(11)一切准备就绪,运行Tomcat,运行成功,跳出网页
现在一个JavaEE框架的JavaWeb项目便创建完成了
4.本地成功创建JDBC连接MySQL
(1)首先,在刚才创建的工程的src目录下创建一个包
再在包下创建一个类,用来测试JDBC的连接
创建完如下
(2)再在web文件夹下面创建一个lib文件夹,用来存放相关的包,创建好的文件目录如下
(3)下面要将连接JDBC的jar包放在该目录下,将mysql-connector-java-8.0.19直接拖拽至lib目录下,完成后目录如下
(4)这时我们要完成该包的引用,找到项目结构
执行如下操作
将lib文件添加进去,添加完成后如下图所示
这时我们便完成了对该包的引用,下面开始编写程序
(5)回到刚才在步骤(1)中创建的类,编写Java代码如下
(TestJDBC是我起的类名)
TestJDBC.java
package com.java.code;
import javax.xml.transform.Result;
import java.sql.*;
public class TestJDBC {
public static String getMysql(){
// URL指向要访问的数据库名ysp
String url="jdbc:mysql://127.0.0.1:3306/ysp";
// MySQL配置时的用户名
String user = "root";
// Java连接MySQL配置时的密码
String password = "12345";
String driverName = "com.mysql.cj.jdbc.Driver";
try {
// 加载驱动程序
Class.forName(driverName);
// 连续数据库
Connection connection = DriverManager.getConnection(url,user,password);
//通过连接获取statement
Statement statement = connection.createStatement();
}catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args){
getMysql();
}
}
运行程序TestJDBC.java,运行成功,无报错。
现在便完成了JDBC对MySQL数据库的连接
5. 简单的数据读取
(1)修改测试类代码如下
TestJDBC.java
package com.java.code;
import javax.xml.transform.Result;
import java.sql.*;
public class TestJDBC {
public static String getMysql(){
// URL指向要访问的数据库名ysp
String url="jdbc:mysql://127.0.0.1:3306/ysp";
// MySQL配置时的用户名
String user = "root";
// Java连接MySQL配置时的密码
String password = "12345";
String driverName = "com.mysql.cj.jdbc.Driver";
//查询语句
String sqlString= "select * from hobby";
try {
// 加载驱动程序
Class.forName(driverName);
// 连续数据库
Connection connection = DriverManager.getConnection(url,user,password);
//通过连接获取statement
Statement statement = connection.createStatement();
//statement做一些增删改查
ResultSet resultSet = statement.executeQuery(sqlString);
//获取执行结果
while (resultSet.next()){
System.out.println(resultSet.getLong(1));
}
}catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args){
getMysql();
}
}
说明:
这里我的MySQL数据库名字为ysp,表名为hobby
查询语句中,查询hobby表中所有的数据
String sqlString= "select * from hobby";
在下面获取长度函数中,只获取了查询结果中第一列的数据
System.out.println(resultSet.getInt(1));
(2)运行程序TestJDBC.java,结果如下
(3)在MySQL控制台程序中执行相同的语句验证是否正确,截图如下
查询正确,现在便完成了简单的数据读取
运行常见错误
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
解决方法:
在url后边加上 serverTimezone=UTC
String url="jdbc:mysql://127.0.0.1:3306/ysp?&serverTimezone=UTC";