步骤:
- MySQL官网下载ConnectorJ的jar包
- 解压下载的压缩包
- 在项目中创建一个名为lib的文件夹,然后将上一步解压缩文件里面后缀为.jar的文件复制到创建的文件夹里面
- 在IDEA中右键添加到库(add as library)
- 看代码
准备工作
打开MySQL数据库
依次执行以下SQL语句,创建一个简单的数据库以及数据表,并插入数据
create database db_jdbctest character set utf8 collate utf8_general_ci;
use jdbctest;
create table users(`id` int primary key,`name` varchar(40),`password` varchar(40),`email` varchar(60),`birthday` date);
insert into users(id,name,password,email,birthday)values(1,'zhangsan','123456','123@163.com','1980-12-04');
insert into users(id,name,password,email,birthday)values(2,'lisi','123456','123@163.com','1980-12-04');
insert into users(id,name,password,email,birthday)values(3,'wangwu','123456','123@163.com','1980-12-04');
select * from users;
下载驱动
根据自己下载的MySQL版本下载对应的压缩包即可
然后解压缩将里面的jar包放到项目中并add as library
测试代码
import java.sql.*;
public class Application {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1、加载驱动(现在最新的版本已经可以不写了)
//Class.forName("com.mysql.jdbc.Driver");//固定写法,取消注释后执行将会给出以下提示
//Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
//加载类“com.mysql.jdbc.Driver”。这是弃用。新的驱动类是' com.mysql.cj.jdbc.Driver'。驱动程序是通过SPI自动注册的,手动加载驱动程序类通常是不必要的。
// 2、定义用户信息和url
// 后面的参数依次是:支持中文编码,设置中文字符集,使用安全的连接
String url = "jdbc:mysql://localhost:3306/db_jdbctest?useUnicode=true&characterEncoding=utf8&useSSL=true";
String username = "root";
String password = "123456";
// 3、连接成功,返回一个数据库连接对象
//驱动管理类
Connection connection = DriverManager.getConnection(url, username, password);
// 4、用上面创建的数据库连接对象创建执行SQL的对象
Statement statement = connection.createStatement();
// 5、用第四步创建的Statement对象执行SQL
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql); //执行查询用Statement的executeQuery()方法,返回一个结果集
//statement.executeUpdate(),更新、插入、删除都使用这个方法
//结果集中将我们所有的查询结果都放在里面了
//返回的结果集是一个链表的形式
while (resultSet.next()) {
System.out.print("id:"+resultSet.getObject("id")+"\t");
System.out.print("name:"+resultSet.getObject("name")+"\t");
System.out.print("password:"+resultSet.getObject("password")+"\t");
System.out.print("email:"+resultSet.getObject("email")+"\t");
System.out.print("birthday:"+resultSet.getObject("birthday")+"\t");
System.out.println();
}
// 6、释放对象 :先创建的后释放,一定要关闭,否则很浪费资源
resultSet.close();
statement.close();
connection.close();
}
}
执行结果
结束