以前没有过记录,现在又遇到了MySQL驱动出现问题, 发现没有自己的连接记录, 所以再来整理记录下连接使用数据库的过程
下面用它来演示一下如何创建一个普通的Java工程,并导入MySql数据库的驱动包,用JDBC方式来连接数据库。
Intellij Idea 安装过程先略过不提,可自行百度安装。
打开Intellij Idea,创建Project,File->New->Project,如图所示:
指定JDK安装目录,再点击Next.
再次点击Next,来到如图所示地方,给项目取名,比如项目命名为:JDBCTest,最后点击Finish。
至此,项目已成功创建完毕。src->New->Package,添加包名:jdbc。(包名自定义)
创建Test类,测试java环境是否能正常运行如下:
package jdbc;
public class Test {
public static void main(String [] agrs){
System.out.println("hello JDBC");
}
}
创建一个目录,用来放mysql的驱动包,类似eclipse的lib目录:JDBCDemo->New->Directory 名字可以任意取。
把mysql的Jdbc.jar包复制过来在目录 JDBCposition 可以看到(jar包没有可以在官网下载)。
MySQL驱动官网下载地址链接
关于安装配置JDBC可以看文章后面 数据库驱动下载与安装
把jar包添加到项目里,类似eclipse的add to build path功能,快捷键:Ctrl+Alt+Shift+S,弹出图示菜单 。选择第一项:JARs or directories。
找到刚才添加的jar包,点击确定。
准备工作:
在本地先安装好MySql环境,安装过程可自行百度,然后用Navicat可视化工具(安装过程可自行百度, 用别的也行, 不用可视化也行),执行以下脚本初始化数据:
#创建名为demo的数据库,如果存在则删除
DROP DATABASE IF EXISTS demo;
CREATE DATABASE demo;
#切换到 demo 数据库
USE demo;
#创建表,名为demo,如果表存在则删除
DROP TABLE IF EXISTS demo;
CREATE TABLE demo(
id BIGINT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘表主键’,
name VARCHAR(16) NOT NULL COMMENT ‘名称’
);
#批量写入三条记录
INSERT INTO demo(name)
VALUES
(‘guojia’),
(‘yangguo’),
(‘huangrong’);
package jdbc;
import java.sql.*;
public class JDBCTest {
//mysql驱动包名
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
//数据库连接地址
private static final String URL = "jdbc:mysql://localhost:3306/demo";
//用户名,更换成你自己的用户名,此处为root用户
private static final String USER_NAME = "root";
//密码,更换成你自己设定的密码,此处为:admin
private static final String PASSWORD = "admin";
public static void main(String[] args){
Connection connection = null;
try {
//加载mysql的驱动类
Class.forName(DRIVER_NAME);
//获取数据库连接
connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
//mysql查询语句
String sql = "SELECT name FROM demo";
PreparedStatement prst = connection.prepareStatement(sql);
//结果集
ResultSet rs = prst.executeQuery();
while (rs.next()) {
System.out.println("用户名:" + rs.getString("name"));
}
rs.close();
prst.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
然后点击运行
最后注意:由于我所使用的软件都是最新的版本运行之后可能会出现一下问题
修改private static final String DRIVER_NAME = “com.mysql.jdbc.Driver”;
改为 com.mysql.cj.jdbc.Driver;
修改 完以后运行出现第二个问题
在private static final String URL = “jdbc:mysql://localhost:3306/demo”;
在demo后面 ?serverTimezone=UTC
再次运行就可以了 说明连接成功!
需要使用专业版的idea
在view窗口将以下四个进行勾选,便于后续的操作。
在连接MySQL之前一定要通过cmd管理员方式运行,启动MySQL的服务,接下来按顺序对idea进行以下操作
以下是我填好的示范。
MySQL的驱动下载:重中之重啊!下载链接https://downloads.mysql.com/archives/c-j/
idea中安装MySQL的驱动,把下好的驱动文件解压和你的MySQL文件放在一起(只是便于查找,随意放在自己知道的路径中都可),自己一定要记住文件的放置路径。
选择文件夹中图对应的驱动文件,点击ok。
点击Test Connection 出现Successful就代表连接成功,点击Ok,保存,这就连接完成了,只要保证MySQL安装的比较好就不会有什么其它问题。最后的界面见下:
使用JDBC操作数据库,需要使用数据库厂商提供的驱动程序,通过驱动程序可以与数据库进行交互。
https://dev.mysql.com/downloads/connector/
https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html
https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017
https://jdbc.postgresql.org/download.html
进入下载地址:https://dev.mysql.com/downloads/connector/j/
选择:Platform Independent
TAR包是Linux操作系统下的,ZIP包是Windows操作系统下的,这里我们选择ZIP包。
driverClass:com.mysql.jdbc.Driver
或者com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/mydb
说明:
com.mysql.jdbc.Driver
驱动是mysql-connector-java 5
中的
com.mysql.cj.jdbc.Driver
驱动是mysql-connector-java 6
以上版本的
有的时候,mysql的驱动类也会看到使用org.gjt.mm.mysql.Driver
的情况,org.gjt.mm.mysql.Driver
是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver
,现在一般都推荐使用com.mysql.jdbc.Driver
。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver
,但是实际上org.gjt.mm.mysql.Driver
中调用了com.mysql.jdbc.Driver
,因此现在这两个驱动没有什么区别。
driverClass:oracle.jdbc.driver.OracleDriver
url:jdbc:oracle:thin:@127.0.0.1:1521:dbname
driverClass:com.ibm.db2.jcc.DB2Driver
url:jdbc:db2://127.0.0.1:50000/dbname
driverClass:com.sybase.jdbc.SybDriver`
url:jdbc:sybase:Tds:localhost:5007/dbname
driverClass:org.postgresql.Driver
url:jdbc:postgresql://localhost/dbname
driverClass:com.microsoft.jdbc.sqlserver.SQLServerDriver
url:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname
driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver
url:jdbc:sqlserver://localhost:1433; DatabaseName=dbname
说明:
SQL Server2000和2005的驱动是有区别的,使用错误的时候,会出现下面这个错误。java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]
最新Intellij Idea2020.01使用JDBC连接数据库
JDBC数据库驱动的下载、安装与连接
超详细的Idea与MySQL的连接(从入门到精通)