java - MySql数据库访问JDBC驱动

标签 java mysql jdbc

它总是返回错误页面。

在 Struts2 中访问数据库的类文件。我的数据库用户名:root 和密码:mysql 数据库名称是“代码”,表名称是“用户”。

 public String execute()  
 {
      String ret = ERROR;
      Connection conn = null;

      try {
           String URL = "jdbc:mysql://localhost/code";
           Class.forName("com.mysql.jdbc.Driver");
           conn = DriverManager.getConnection(URL, "root", "mysql");
           String sql = "SELECT username FROM user WHERE";
           sql+=" username = ? AND password = ?";
           PreparedStatement ps = conn.prepareStatement(sql);
           ps.setString(1, username);
           ps.setString(2, password);
           ResultSet rs = ps.executeQuery();

           while (rs.next()) {
               name = rs.getString(1);
               ret = SUCCESS;
           }
     } catch (Exception e) {
           ret = ERROR;
     } 
     finally {
           if (conn != null) {
               try {
                   conn.close();
               }
               catch (Exception e){}
            }
     }
     return ret;
 }

这是我的struts.xml

<struts>
    <constant name="struts.devMode" value="true" />
    <package name="com.code" extends="struts-default">
        <action name="loginaction" class="com.code.Login"  method="execute">
           <result name="success">/Login.jsp</result>
           <result name="error">/error.jsp</result>
        </action>   
    </package>
</struts>

为什么这不是返回成功页面?

最佳答案

数据库 url 中缺少数据库的端口号

如果您使用的是 MySql,默认端口号是 3306。尝试如下更改 url:

String URL = "jdbc:mysql://localhost:3306/code";

关于java - MySql数据库访问JDBC驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34199347/

相关文章:

java - Gradle 构建旧版本代码

javascript - 使用 html 和 php 日期和手机号码

mysql - 与 SQL Server 相比,如何提高 mySQL 中大量更新的速度?

java - Univocity 解析器 - 处理具有奇怪结构的行

java - 使用 JUnit 的内部类中的测试用例

java - JPA "DTYPE"标识符无效

php - 重定向不适用于 Cloud SQL

mysql - 如何对 3 个表进行 1 次查询

java - 如何使用java和jdbc和sql成功访问另一台电脑上的数据库?

mysql - 如何在 INSERT IGNORE 语句中获取被忽略行的 PK