当前位置:   article > 正文

JDBC连接的多种方式(idea)_idea jdbc

idea jdbc

师承康师傅, 学完总结一下

目录

jar包下载方式

 方式一:

 方式二:

 方式三:

五种获取数据库连接的方式:

方式一:

1. 设置jar包为依赖

2. 右键设置模块

3.写代码

方式二:

方式三:

方式四:

方式五:


尚硅谷 康师傅的   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包)

https://downloads.mysql.com/archives/c-j/

五种获取数据库连接的方式:

方式一:

1. 设置jar包为依赖

如果是按我的教程安装的mysql ,jar包在这

如果是下载的压缩包, 打开即可


新建lib 目录

直接 ctrl +v 复制到 lib

现在项目是这个样子

2. 右键设置模块

选择我们复制的 jar包

确定

3.写代码

创建一个连接类

补全时, 注意导的是这个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自动注册,手动加载驱动程序类通常是不必要的。

  1. import com.mysql.cj.jdbc.Driver;
  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import java.util.Properties;
  5. /**
  6. * @author mobeiCanyue
  7. * Create 2022-01-26 22:17
  8. * Describe:
  9. */
  10. public class ConnectionTest {
  11. public static void main(String[] args) throws SQLException {
  12. Driver driver = new Driver();
  13. // url:http://localhost:8080/gmall/keyboard.jpg
  14. // jdbc:mysql:协议
  15. // localhost:ip地址
  16. // 3306:默认mysql的端口号
  17. // mysql:mysql的存储mysql本身一些信息的数据库
  18. String url = "jdbc:mysql://localhost:3306/mysql";
  19. // 将用户名和密码封装在Properties中
  20. Properties info = new Properties();
  21. info.setProperty("user", "root");
  22. info.setProperty("password", "admin");//admin改成你自己的密码
  23. Connection connect = driver.connect(url, info);
  24. System.out.println(connect);
  25. }
  26. }

有了连接的对象, 就说明连接成功了 !

方式二:

  1. import java.sql.Connection;
  2. import java.sql.Driver;
  3. import java.util.Properties;
  4. /**
  5. * @author mobeiCanyue
  6. * Create 2022-01-26 23:50
  7. * Describe:
  8. * 方式二:对方式一的迭代:在如下的程序中不出现第三方的api,使得程序具有更好的可移植性
  9. */
  10. public class ConnectionTest2 {
  11. public static void main(String[] args) throws Exception {
  12. // 1.获取Driver实现类对象:使用反射
  13. Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
  14. Driver driver = (Driver) clazz.newInstance();
  15. // 2.提供要连接的数据库
  16. String url = "jdbc:mysql://localhost:3306/mysql";
  17. // 3.提供连接需要的用户名和密码
  18. Properties info = new Properties();
  19. info.setProperty("user", "root");
  20. info.setProperty("password", "admin");//admin改成你自己的密码
  21. // 4.获取连接
  22. Connection connect = driver.connect(url, info);
  23. System.out.println(connect);
  24. }
  25. }

方式三:

  1. import java.sql.Connection;
  2. import java.sql.Driver;
  3. import java.sql.DriverManager;
  4. /**
  5. * @author mobeiCanyue
  6. * Create 2022-01-27 0:03
  7. * Describe:方式三:使用DriverManager替换Driver
  8. */
  9. public class ConnectionTest3 {
  10. public static void main(String[] args) throws Exception {
  11. // 1.提供三个连接的基本信息:
  12. String url = "jdbc:mysql://localhost:3306/mysql";
  13. String user = "root";
  14. String password = "admin";
  15. // 2.获取Driver实现类的对象
  16. Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
  17. Driver driver = (Driver) clazz.newInstance();
  18. // 3.注册驱动
  19. DriverManager.registerDriver(driver);
  20. // 4.获取链接
  21. Connection connection = DriverManager.getConnection(url, user, password);
  22. System.out.println(connection);
  23. }
  24. }

方式四:

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. /**
  4. * @author mobeiCanyue
  5. * Create 2022-01-27 0:14
  6. * Describe:可以只是加载驱动,不用显示的注册驱动了。
  7. */
  8. public class ConnectionTest4 {
  9. public static void main(String[] args) throws Exception {
  10. // 1.提供三个连接的基本信息:
  11. String url = "jdbc:mysql://localhost:3306/mysql";
  12. String user = "root";
  13. String password = "admin";
  14. // 2.加载Driver
  15. Class.forName("com.mysql.cj.jdbc.Driver");
  16. //相较于方式三,可以省略如下的操作:
  17. // Driver driver = (Driver) clazz.newInstance();
  18. // // 注册驱动
  19. // DriverManager.registerDriver(driver);
  20. //为什么可以省略上述操作呢?
  21. /*
  22. * 在mysql的Driver实现类中,声明了如下的操作:
  23. * static {
  24. try {
  25. java.sql.DriverManager.registerDriver(new Driver());
  26. } catch (SQLException E) {
  27. throw new RuntimeException("Can't register driver!");
  28. }
  29. }
  30. */
  31. // 3.获取连接
  32. Connection conn = DriverManager.getConnection(url, user, password);
  33. System.out.println(conn);
  34. }
  35. }

方式五:

  1. import java.io.InputStream;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.util.Properties;
  5. /**
  6. * @author mobeiCanyue
  7. * Create 2022-01-27 0:28
  8. * Describe:
  9. */
  10. public class ConnectionTest5 {
  11. public static void main(String[] args) throws Exception {
  12. //1.读取配置文件中的4个基本信息
  13. InputStream is = ConnectionTest5.class.getClassLoader().getResourceAsStream("jdbc.properties");
  14. Properties pros = new Properties();
  15. pros.load(is);
  16. String user = pros.getProperty("user");
  17. String password = pros.getProperty("password");
  18. String url = pros.getProperty("url");
  19. String driverClass = pros.getProperty("driverClass");
  20. //2.加载驱动
  21. Class.forName(driverClass);
  22. //3.获取连接
  23. Connection connection = DriverManager.getConnection(url, user, password);
  24. System.out.println(connection);
  25. }
  26. }

jdbc.properties: 

  1. user=root
  2. password=admin
  3. url=jdbc:mysql://localhost:3306/mysql
  4. driverClass=com.mysql.cj.jdbc.Driver

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/738214
推荐阅读
相关标签
  

闽ICP备14008679号