已解决No suitable driver found for jdbc:mysql://localhost:3306/ 问题

已解决No suitable driver found for jdbc:mysql://localhost:3306/ 问题

在这里插入图片描述

一、Bug描述

在学习java数据库连接池使用的时候遇到问题,无法连接到数据库,查看日志是"No Suitable Driver Found For Jdbc",但查看数据库连接配置没问题。

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/db_mydb?characterEncoding=utf8&useSSL=false
 at java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at com.luojia.sims.utils.DBManager.getConn(DBManager.java:30)
 at com.luojia.sims.dao.UserDAO.addUser(UserDAO.java:22)
 at org.apache.jsp.user_005fsave_jsp._jspService(user_005fsave_jsp.java:135)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:500)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Unknown Source)
四月 08, 2018 8:07:34 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [jsp] in context with path [/sims] threw exception [An exception occurred processing [user_save.jsp] at line [23]
20:    
21:    //璋冪敤UserDAO涓殑addUser鏂规硶瀹屾垚淇濆瓨
22:    UserDTO u = new UserDTO(0,name,pwd,sex,age,remark);
23:    boolean b = new UserDAO().addUser(u);
24:    
25:    //鏍规嵁娉ㄥ唽鐘舵?佽繘琛岃烦杞?
26:    if(b){

Stacktrace:] with root cause
java.lang.NullPointerException
 at com.luojia.sims.dao.UserDAO.addUser(UserDAO.java:24)
 at org.apache.jsp.user_005fsave_jsp._jspService(user_005fsave_jsp.java:135)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:500)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Unknown Source)

这个问题可把我愁坏了,要不问一下GPT?上。

在这里插入图片描述

二、定位报错点及原因

问了一下GPT,得到的答案是这样的。 简单的来说,就是可能驱动程序有问题,或者是URL的问题。

.在这里插入图片描述

三、最终的解决方案

首先,下载数据库链接的jar包:https://dev.mysql.com/downloads/connector/

进去之后找到对应好的一个jar包下载。

下载好了之后,按照路径进去,可以看到用于 数据库链接的驱动 Driver.class

在这里插入图片描述

出现上述报错的原因通常有三种:

1、URL格式不对:正确为
Connectionconn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/XX”,“root”,“XXXX”)

2、驱动字符串出错(com.mysql.jdbc.Driver)

3、Classpath中没有加入合适的mysql_jdbc驱动

那么对应的解决方案如下:

1、书写正确的URL格式

2、书写正确的驱动字符串

3、将驱动加入CLASSPATH

四、相关注意事项

总结来说解决方案如下:

1, 连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
2, 驱动字符串出错(com.mysql.jdbc.Driver)
3, Classpath中没有加入合适的mysql_jdbc驱动
4, 尝试着将mysql-connector-java-5.1.34-bin.jar的jar包加入C:\Program Files\Java\jre1.6.0_02\lib\ext文件夹下(或者直接导入项目中),问题解决
5, 检查是不是jdbc:mysql://写成了jdbc:mysql// 连接写不对也会报这个找不到驱动的错

如果以上错误都不是,还有一种常见错误,就是jre1.8.0_162\lib\ext目录下没有加入jar包,解决办法很简单,将mysql-connector-java.jar包复制到 C:\Program Files\Java\jre1.8.0_162\lib\ext 目录下即可

在这里插入图片描述

总结

Hello,各位看官老爷们好,洲洲已经建立了技术交流群,如果你很感兴趣,可以私信我加入我的社群。

📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。

📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。

📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有

📝网络的风口只会越来越大,风浪越大,鱼越贵!欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远!

📝关注我的公众号(与CSDN同ID:程序员洲洲)可以获得一份Java 10万字面试宝典及相关资料!~

📝想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~

在这里插入图片描述

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
This Standard was prepared by the Joint Standards Australia/Standards New Zealand Committee IT-012, Information Systems, Security and Identification Technology and supersedes AS/NZS 4444.1:1999, Information security management, Part 1: Code of practice for information security management. It is identical with ISO/IEC 17799:2000, Information technology—Code of practice for information security management and differs in only very minor editorial details from AS/NZS 4444.1:1999. However the Standard number has been changed to that of the international Standard (ISO/IEC 17799) to minimize any confusion when it is used by organizations internationally. The objective of this Standard is to give recommendations for information security management for use by those who are responsible for initiating, implementing or maintaining security in their organization. It is intended to provide a common basis for developing organizational security standards and effective security management practice and to provide confidence in inter-organizational dealings. This Standard is complementary to AS/NZS 4444.2:2000, Information security management, Part 2: Specification for information security management systems (redesignated in Amendment 2 as AS/NZS 7799.2:2000) and HB 231:2000, Information security risk management guidelines. As this Standard is reproduced from an International Standard, the following applies: (a) In the source text ‘this International Standard’ should read ‘this Australian/New Zealand Standard’. (b) A full point should be substituted for a comma when referring to a decimal marker. Information is a vital asset in any organization. The protection and security of information is of prime importance to many aspects of an organization’s business. It is therefore important that an organization implements a suitable set of controls and procedures to achieve information security and manages them to retain that level of security once it is achieved. This Standard is intended for use by managers and employees who are responsible for initiating, implementing and maintaining information security within their organization and it may be considered as a basis for developing organizational security standards. A comprehensive set of controls comprising the best information security practices currently in use is provided in this Standard. This guidance is intended to be as comprehensive as possible. It is intended to serve as a single reference point for identifying the range of controls needed for most situations where information systems are used in industry and commerce and can therefore be applied by large, medium and small organizations. With increasing electronic networking between organizations there is a clear benefit in having a common reference document for information security management. It enables mutual trust to be established between networked information systems and trading partners and provides a basis for the management of these systems between users and service providers. Not all the controls described in this Standard will be relevant to every situation. It cannot take account of local environmental or technological constraints, or be present in a form that suits every potential user in an organization. Consequently this Standard might need to be supplemented by further guidance. It can be used as a basis from which, for example, a corporate policy or an inter-company trading agreement can be developed. The guidance and recommendations provided throughout this Standard should not be quoted as if they were specifications. In particular, care should be taken to ensure that claims of compliance are not misleading. It has been assumed in the drafting of this Standard that the execution of its recommendations is entrusted to suitably qualified and experienced people.
对于异常消息"No suitable driver found for jdbc:mysql://localhost:3306/stub",这通常是由于没有正确加载数据库驱动程序引起的。引用中的异常信息提示了这个问题。在引用中的代码片段中,我们可以看到导入了java.sql包和java.sql.Connection、java.sql.DriverManager、java.sql.SQLException等类。这些类是用于数据库连接和操作的。 在引用的代码片段中,我们可以看到在main方法中,首先通过Class.forName()方法加载了一个名为"org.gjt.mm.mysql.Driver"的MySQL驱动程序。然后使用DriverManager.getConnection()方法来建立数据库连接,传入的参数是一个URL字符串,其中包含了数据库的连接信息。 根据引用中的代码,如果要连接到名为"stub"的数据库,URL字符串应该是"jdbc:mysql://localhost:3306/stub"。然而,如果出现了异常消息"No suitable driver found for jdbc:mysql://localhost:3306/stub",则可能是因为没有正确加载MySQL驱动程序导致的。 解决这个问题的一种方法是确保正确加载了MySQL驱动程序。可以通过在代码中添加如下一行代码来加载驱动程序: Class.forName("com.mysql.jdbc.Driver"); 在加载驱动程序后,再次尝试建立数据库连接,应该就可以成功连接到指定的数据库了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mysql - 在Eclipse中将MySQL连接到Java时,找不到jdbc // mysql:// localhost3306 / nishadagar的合适...](https://blog.csdn.net/weixin_29807507/article/details/114980366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Javamysql数据库](https://blog.csdn.net/weixin_33725239/article/details/86379418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员洲洲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值