javaee连接mysql数据库失败_[JavaEE]连接数据库遇到的问题

问题1:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

需要导入mysql的jar包,我是ubuntu的系统

进入mysql官网    https://dev.mysql.com/downloads

2ac4c3703dc25aa148c1e754c6b6db29.png

然后点击connector J

6f4f8617c543873e24965a1d7c25328b.png

windows下载zip,ubuntu下载tar.gz,但是根据电脑系统选择的Ubuntu只有deb,所以要点击旁边的“Looking for previous GA versions?”,然后进行下载

下载后解压

sudo tar-zxvf ......

然后将文件中的bin.jar后缀名的jar包移动到eclipse里你存储代码的位置

16559a2cb5e805e347b83a39d9daa3a5.png

0839e1fd6a6c29df4cfc9916f913d48b.png

如图移动。

点击右键然后Build Path, 然后选择add....然后即可

fad877f510384f6960c2b8bf8ff5109e.png

Referenced Libraries中有这个mysql ...bin.jar,这样就完成了

问题2:

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

没有设置SSL,修改JDBC连接的url

初始:

finalstatic String url = "jdbc:mysql://localhost:3306/SuperBookData";

在后面+上“?useUnicode=true&characterEncoding=utf-8&useSSL=false”

修改为:

finalstatic String url = "jdbc:mysql://localhost:3306/SuperBookData?useUnicode=true&characterEncoding=utf-8&useSSL=false";

问题3:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

进入mysql

sudo mysql -uroot -p

使用user数据库

use user;

展示一些东西

select user, plugin from mysql.user;

更改 我的用户名密码都是root

update mysql.user set authentication_string=PASSWORD('root'),plugin='mysql_native_password' where user='root';

刷新下

flush privileges;

7b877969cefb34663b466e5881099550.png

end

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Java EE项目,用于连接MySQL数据库实现注册登录功能。 首先,在MySQL数据库中创建一个名为“user”的表,包含以下字段:id、username、password。 然后,创建以下两个Java类:User和DBUtil。 User.java: ``` public class User { private int id; private String username; private String password; public User(int id, String username, String password) { this.id = id; this.username = username; this.password = password; } public int getId() { return id; } public String getUsername() { return username; } public String getPassword() { return password; } public void setId(int id) { this.id = id; } public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } } ``` DBUtil.java: ``` import java.sql.*; public class DBUtil { private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false"; private static final String USERNAME = "root"; private static final String PASSWORD = "123456"; public static Connection getConnection() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return conn; } public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } ``` 接下来,创建以下两个Servlet:RegisterServlet和LoginServlet。 RegisterServlet.java: ``` import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/register") public class RegisterServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String username = request.getParameter("username"); String password = request.getParameter("password"); Connection conn = null; PreparedStatement pstmt = null; try { conn = DBUtil.getConnection(); String sql = "INSERT INTO user(username, password) VALUES (?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); int result = pstmt.executeUpdate(); if (result > 0) { out.print("注册成功!"); } else { out.print("注册失败!"); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(conn, pstmt, null); } } } ``` LoginServlet.java: ``` import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String username = request.getParameter("username"); String password = request.getParameter("password"); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DBUtil.getConnection(); String sql = "SELECT * FROM user WHERE username = ? AND password = ?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); rs = pstmt.executeQuery(); if (rs.next()) { out.print("登录成功!"); } else { out.print("用户名或密码错误!"); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(conn, pstmt, rs); } } } ``` 最后,在web.xml文件中添加以下配置: ``` <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/register</url-pattern> </servlet-mapping> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> ``` 现在,你可以在Web页面上实现注册和登录功能了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值