JBDC连接数据库(给和我一样容易犯错的小白看的)

1.首先你得需要一个驱动器 mysql-connector-java
你需要知道自己的mysql是什么版本的然后去下载对应的驱动java包,下面是查看mysql版本的方法

未登录数据库时

mysql -V

登录数据库时

mysql -u root -p
password:******
select @@version;

下载驱动包的网址,会让你填一下验证码,然后根据自己的mysql下载对应版本的java包(实际上我自己的mysql是8.0版本的,我用mysql-connector-java-5.1.6也可以用)
https://mvnrepository.com/artifact/mysql/mysql-connector-java

JBDC连接数据库(给和我一样容易犯错的小白看的)_第1张图片

2.将下载的java包复制粘贴到elipse项目下的lib文件夹下(这里我下载了两个请忽略)

JBDC连接数据库(给和我一样容易犯错的小白看的)_第2张图片
3.配置驱动包

右击项目名–构建路径–配置构建路径(如果是英文版就是build path–config build path)
JBDC连接数据库(给和我一样容易犯错的小白看的)_第3张图片
点击那个添加JAR,然后就可以浏览lib文件夹,把刚才的java包选上,最后点击Apply and close即可

JBDC连接数据库(给和我一样容易犯错的小白看的)_第4张图片

4.建立数据库(命令测试过了可直接复制粘贴使用)

create database taobao;
use taobao;
create table user(
id int,
uname varchar(30),
salary int,
job varchar(30),
deptno int
);
insert into user values
(1,'刘备',10000,'徐州牧',10),
(2,'关羽',9000,'荆州牧',10),
(3,'曹操',12000,'魏王',20),
(4,'许褚',6000,'护卫长',30);
5.JDBC编程
在项目的src目录下新建一个类,这里我命名的是TestJDBC

JBDC连接数据库(给和我一样容易犯错的小白看的)_第5张图片

完整代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestJDBC {
	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/taobao","root","123456");
//			if(conn==null)
//				System.out.println("数据库连接失败!");
//			else
//				System.out.println("数据库连接成功");
			Statement st=conn.createStatement();
			String sql="select * from user";
			ResultSet rs=st.executeQuery(sql);
			while(rs.next()) {
				System.out.print(rs.getInt(1)+" ");
				System.out.print(rs.getString(2)+" ");
				System.out.print(rs.getInt(3)+" ");
				System.out.print(rs.getString(4)+" ");
				System.out.println(rs.getInt(5)+" ");
			}
			rs.close();
			st.close();
			conn.close();
		} catch (ClassNotFoundException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
}

注意:
<1>我的mysql版本是8.0的,所以代码是
Class.forName("com.mysql.cj.jdbc.Driver");

如果你运行出现异常可能是因为你的mysql版本较低,需要用

Class.forName("com.mysql.jdbc.Driver");

<2>如果你运行还出现问题也有可能是java驱动包的版本问题,版本较高的java驱动包需要加上时域,所以要把下面这个代码改一下,加上时域conn=DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/taobao”,“root”,“123456”);

改为下面这个:

conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/taobao?serverTimezone=UTC","root","123456");

右键–运行方式–java应用程序。运行结果:
JBDC连接数据库(给和我一样容易犯错的小白看的)_第6张图片

如果你运行的还是有问题,应该就是因为连不上数据库的原因了,那么有可能是下面这个原因:

用mysql -u root -p登录数据库,然后输入下面命令查看用户信息

select host,user,plugin,authentication_string from mysql.user;

JBDC连接数据库(给和我一样容易犯错的小白看的)_第7张图片在这里我的user用户名是root, localhost表示是本地数据库不是远程的(有的同学的是%)
如果你的plugin是caching_sha2_password则需要修改密码(由于我已经修改过了,所以最后一行是mysql_native_password),123456是我想要修改成的密码,你可以根据自己情况改。你只需要执行一下这个命令应该就可以连接数据库了

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

注意:如果你的不是localhost而是%则需要改成: ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

你可能感兴趣的:(java,ewb)