赞
踩
师承康师傅, 学完总结一下
目录
尚硅谷 康师傅的 JDBC课程
用的是 Eclipse MySQL5.X
我这里用 IDEA MySQL 8.0.X 重新演示一遍
环境:
JDK 8 MySQL 8.0 IDEA
在读这篇文章之前, 建议先看一下这MySQL安装篇, 做两件事
- (可选) 改时区, 看到评论区说了很多时区的问题 如果有时区报错可以改一下
- JDBC驱动 即下载jar包(见下文)
jar包下载方式
方式一:
(官方的下载器, jar包随时能更新, 推荐):
https://dev.mysql.com/downloads/windows/installer/8.0.html
点开
之前的图拿来直接用了
方式二:
也推荐,但是下载速度会慢点
Maven Repository: mysql » mysql-connector-java (mvnrepository.com)
去maven仓库下载
方式三:
直接用这个连接下载 jar包(缺点: 一般没有最新版的jar包)
如果是按我的教程安装的mysql ,jar包在这
如果是下载的压缩包, 打开即可
新建lib 目录
直接 ctrl +v 复制到 lib
现在项目是这个样子
选择我们复制的 jar包
确定
创建一个连接类
补全时, 注意导的是这个cj 包下的 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自动注册,手动加载驱动程序类通常是不必要的。
- import com.mysql.cj.jdbc.Driver;
-
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.util.Properties;
-
- /**
- * @author mobeiCanyue
- * Create 2022-01-26 22:17
- * Describe:
- */
- public class ConnectionTest {
- public static void main(String[] args) throws SQLException {
- Driver driver = new Driver();
- // url:http://localhost:8080/gmall/keyboard.jpg
- // jdbc:mysql:协议
- // localhost:ip地址
- // 3306:默认mysql的端口号
- // mysql:mysql的存储mysql本身一些信息的数据库
-
- String url = "jdbc:mysql://localhost:3306/mysql";
- // 将用户名和密码封装在Properties中
- Properties info = new Properties();
- info.setProperty("user", "root");
- info.setProperty("password", "admin");//admin改成你自己的密码
- Connection connect = driver.connect(url, info);
-
- System.out.println(connect);
- }
- }
有了连接的对象, 就说明连接成功了 !
- import java.sql.Connection;
- import java.sql.Driver;
- import java.util.Properties;
-
- /**
- * @author mobeiCanyue
- * Create 2022-01-26 23:50
- * Describe:
- * 方式二:对方式一的迭代:在如下的程序中不出现第三方的api,使得程序具有更好的可移植性
- */
- public class ConnectionTest2 {
- public static void main(String[] args) throws Exception {
- // 1.获取Driver实现类对象:使用反射
- Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
- Driver driver = (Driver) clazz.newInstance();
-
- // 2.提供要连接的数据库
- String url = "jdbc:mysql://localhost:3306/mysql";
-
- // 3.提供连接需要的用户名和密码
- Properties info = new Properties();
- info.setProperty("user", "root");
- info.setProperty("password", "admin");//admin改成你自己的密码
-
- // 4.获取连接
- Connection connect = driver.connect(url, info);
- System.out.println(connect);
- }
- }
- import java.sql.Connection;
- import java.sql.Driver;
- import java.sql.DriverManager;
-
- /**
- * @author mobeiCanyue
- * Create 2022-01-27 0:03
- * Describe:方式三:使用DriverManager替换Driver
- */
- public class ConnectionTest3 {
- public static void main(String[] args) throws Exception {
- // 1.提供三个连接的基本信息:
- String url = "jdbc:mysql://localhost:3306/mysql";
- String user = "root";
- String password = "admin";
-
- // 2.获取Driver实现类的对象
- Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
- Driver driver = (Driver) clazz.newInstance();
-
- // 3.注册驱动
- DriverManager.registerDriver(driver);
-
- // 4.获取链接
- Connection connection = DriverManager.getConnection(url, user, password);
- System.out.println(connection);
- }
- }
- import java.sql.Connection;
- import java.sql.DriverManager;
-
- /**
- * @author mobeiCanyue
- * Create 2022-01-27 0:14
- * Describe:可以只是加载驱动,不用显示的注册驱动了。
- */
- public class ConnectionTest4 {
- public static void main(String[] args) throws Exception {
- // 1.提供三个连接的基本信息:
- String url = "jdbc:mysql://localhost:3306/mysql";
- String user = "root";
- String password = "admin";
-
- // 2.加载Driver
- Class.forName("com.mysql.cj.jdbc.Driver");
- //相较于方式三,可以省略如下的操作:
- // Driver driver = (Driver) clazz.newInstance();
- // // 注册驱动
- // DriverManager.registerDriver(driver);
- //为什么可以省略上述操作呢?
- /*
- * 在mysql的Driver实现类中,声明了如下的操作:
- * static {
- try {
- java.sql.DriverManager.registerDriver(new Driver());
- } catch (SQLException E) {
- throw new RuntimeException("Can't register driver!");
- }
- }
- */
-
- // 3.获取连接
- Connection conn = DriverManager.getConnection(url, user, password);
- System.out.println(conn);
- }
- }
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.util.Properties;
-
- /**
- * @author mobeiCanyue
- * Create 2022-01-27 0:28
- * Describe:
- */
- public class ConnectionTest5 {
- public static void main(String[] args) throws Exception {
- //1.读取配置文件中的4个基本信息
- InputStream is = ConnectionTest5.class.getClassLoader().getResourceAsStream("jdbc.properties");
-
- Properties pros = new Properties();
- pros.load(is);
-
- String user = pros.getProperty("user");
- String password = pros.getProperty("password");
- String url = pros.getProperty("url");
- String driverClass = pros.getProperty("driverClass");
-
- //2.加载驱动
- Class.forName(driverClass);
-
- //3.获取连接
- Connection connection = DriverManager.getConnection(url, user, password);
- System.out.println(connection);
- }
- }
jdbc.properties:
- user=root
- password=admin
- url=jdbc:mysql://localhost:3306/mysql
- driverClass=com.mysql.cj.jdbc.Driver
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。