码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 2022.7.26--IDEA(2021.3.1版本,未更新)配置MySQL(5.7.37)JDBC(jar包版本8.0.28)


    照着韩顺平老师的视频学的,但是这里由于版本等各种问题跟不动了,遂上网找资料记录自己的过程。


    自己的MySQL版本查询

    命令行里输入

    mysql --version

    查询 ,会出来

     这条语句。

    jar驱动包下载

    网友分享:

    mysql数据库java驱动下载(jdbc)_伍思皮皮推的博客-CSDN博客_mysqljdbc驱动包下载https://blog.csdn.net/qq_43672126/article/details/124248926作者用的是阿里云盘,需要在电脑上下载客户端才能下载。

    官网下载地址:

    Maven Repository: mysql » mysql-connector-java (mvnrepository.com)https://mvnrepository.com/artifact/mysql/mysql-connector-java

    要下载哪个版本直接点version这一列,就能自动跳转了。 

    选择version后在上面一栏表格中找到files这一条,点击jar,下载。

     配置过程

    想了想反正我一时半会也看不懂,没写原理,只记录过程。

    1.新建一个Java项目,或者就用自己现有的,如何新建一个项目:IDEA/idea 怎么新建一个Java文件(自用,适用于已经配置好jdk的情况下)_鹤天寻的博客-CSDN博客_idea新建一个javahttps://blog.csdn.net/qq_54416938/article/details/123670939

    2.找到src目录,在与它平级的地方新建一个文件夹(也叫做目录),用来存放刚才下好的jar包。(我命名为lib,=library库)如图,“平级”

     

     3.把刚才下好的包复制到lib中。

    4.idea中选中该包-右键-添加为库(add as library)

    确定 

     然后就能用了,输入My看看有没有提示,出现下面这个图说明成功了。

     连接到数据库

     自己试了试只有这个方法能用,网上的教程new Instance,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.的原因:

    springboot项目中出现This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver‘. 异常 属于驱动连接异常_一个过儿童节的小猿的博客-CSDN博客https://blog.csdn.net/SG753/article/details/123852718我的版本能用的连接代码:

    因为一开始学的时候图方便,没设置密码,所以密码那里就是空字符串了

    url的t是你要连接到的数据库的名字,不是某一张表的名字

    打印输出是为了查看对不对,其实不用这句话

    1. Class.forName("com.mysql.cj.jdbc.Driver");
    2. String url = "jdbc:mysql://localhost:3306/t";
    3. Connection c = DriverManager.getConnection(url,"root","");
    4. System.out.println(c);

    用配置文件的方式:

    1.src目录下新建配置文件:

     

     配置文件内容:

    1. user=root
    2. password=""
    3. url=jdbc:mysql://localhost:3306/t
    4. driver=com.mysql.cj.jdbc.Driver

    能用的一种连接方法的代码:

    1. public static void connect() throws IOException, ClassNotFoundException, SQLException
    2. {
    3. //通过properties获取配置文件信息
    4. Properties properties = new Properties();
    5. properties.load(new FileInputStream("src\\mysql.properties"));
    6. //获取相关的值
    7. String user = properties.getProperty("user");
    8. String password = properties.getProperty("password");
    9. String driver = properties.getProperty("driver");
    10. String url = properties.getProperty("url");
    11. Class.forName(driver);
    12. Connection connection = DriverManager.getConnection(url, user, password);
    13. System.out.println(connection);
    14. }

    报错:没有配置任何数据源来运行此SQL 并提供高级代码辅助

    具体表现:报错,但是能用,在navycat中也能看到确实执行成功了。

    解决方法:IDEA SpringBoot SQL连接常见五大异常处理_Yeats_Liao的博客-CSDN博客_springboot捕获sql异常https://blog.csdn.net/qq_46207024/article/details/116291339

    报错2:无法解析表xxx

    解决了上一个报错之后又出现了这个问题,大概率是一开始一窍不通的时候误点了某个idea自己提供的解决方案,依稀记得是什么架构,oracle*,default啥的,应该就是那里,不能点它默认的改错方法!

    解决方法很简单,看这篇↓

    关于IDEA中“无法解析表xxx”的解决方案_幻桬的博客-CSDN博客_idea无法解析表https://blog.csdn.net/qq_53584189/article/details/120114487?spm=1001.2101.3001.6650.2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-2-120114487-blog-93601811.pc_relevant_multi_platform_whitelistv1_exp2

    报错:sqlStatement.executeQuery() cannot issue statements that do not produce result sets.

    解决方法:sql语句没更新吧,还是insert那个呢

    使用JDBC执行SQL查询时出现问题。使用结果集获取错误 - 我爱学习网 (5axxw.com)https://www.5axxw.com/questions/content/onzqfd一次成功的result代码示例:

    1. public static void connect() throws IOException, ClassNotFoundException, SQLException
    2. {
    3. //通过properties获取配置文件信息
    4. Properties properties = new Properties();
    5. properties.load(new FileInputStream("src\\mysql.properties"));
    6. //获取相关的值
    7. String user = properties.getProperty("user");
    8. String password = properties.getProperty("password");
    9. String driver = properties.getProperty("driver");
    10. String url = properties.getProperty("url");
    11. Class.forName(driver);
    12. Connection connection = DriverManager.getConnection(url, user, password);
    13. //System.out.println(connection);
    14. String sql = "insert into user values(2, 'mei', 19970413)";
    15. Statement statement = connection.createStatement();
    16. int rows = statement.executeUpdate(sql);
    17. //System.out.println(rows);
    18. sql = "select * from user";
    19. ResultSet resultSet = statement.executeQuery(sql);
    20. //5. 使用 while 取出数据
    21. while (resultSet.next())
    22. { // 让光标向后移动,如果没有更多行,则返回 false
    23. int id = resultSet.getInt(1); //获取该行的第 1 列
    24. String name = resultSet.getString(2);//获取该行的第 2 列
    25. String birthday = resultSet.getString(3);
    26. System.out.println(id + "\t" + name + "\t" + birthday + "\t" );
    27. }
    28. }

    德鲁伊连接池和c3p0连接池下载地址及方法:

    c3p0连接池jar包下载地址_兰林汉的驴粉丝儿的博客-CSDN博客_c3p0连接池jar包下载https://blog.csdn.net/weixin_60283557/article/details/120326461

    Apache Common DBUtils下载地址(官网)

    DbUtils – Download Apache Commons DbUtilshttps://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi

    进去之后点Binary栏目下zip,​

     之后下载到本地解压,解压完了这个就是jar包,按之前的方式加到项目里面即可​

  • 相关阅读:
    setState是同步更新还是异步更新的
    java新冠病例智能统计与相应预防措施分析系统springboot
    软件测试为什么这么“火”,是不是被“炒作”起来的?
    Swift使用Embassy库进行数据采集:热点新闻自动生成器
    Perl在linux如何链接Sql Server数据库
    表白墙(web版)
    基于3D分层卷积融合的多模态生理信号情绪识别
    AI对齐(AI Alignment)关键点理解
    Python二级 每周练习题23
    基于BP神经网络、kmeans聚类和HC模型的火焰特征数据识别算法matlab仿真
  • 原文地址:https://blog.csdn.net/qq_54416938/article/details/126002258
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号