【问题标题】:How to perform a search in an SQL database with a java application?如何使用 Java 应用程序在 SQL 数据库中执行搜索?
【发布时间】:2014-02-26 10:34:45
【问题描述】:

我打算在 Netbeans 上构建一个非常简单的 Java 应用程序,它接受基本的个人信息,如 ID 号、姓名和地址,并将其存储在 sql 数据库中。

我想在我的程序中添加一个接受 ID 号的搜索功能。当用户输入存储在数据库中的 ID 号时,它将在弹出的消息对话框中显示名称和地址。

我知道这是可能的,但您能否将我链接到有关搜索功能的一些指南或文档?或者您可以给我一个在搜索按钮中完成的示例代码的简短示例?

【问题讨论】:

  • 这是针对ID = ? 之类的简单查询还是基于所填写的任何字段的更动态和复杂的查询?
  • 是的,只是一个非常简单的查询。无需动态搜索。该程序只接受确切的 ID 号。

标签: java mysql database search


【解决方案1】:

看看这个link

它正在使用诸如ConnectionPreparedStatement 之类的类

伪代码存在

String selectSQL = "SELECT USER_ID, USERNAME FROM DBUSER WHERE USER_ID = ?";

dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(selectSQL);
preparedStatement.setInt(1, 1001);

// execute select SQL stetement
ResultSet rs = preparedStatement.executeQuery();

try {
  while (rs.next()) {
    String userid = rs.getString("USER_ID");
    String username = rs.getString("USERNAME");
    System.out.println("userid : " + userid);
  }

  } catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
  } finally {
    preparedStatement.close();
    dbConnection.close();
  }

【讨论】:

    【解决方案2】:

    http://docs.oracle.com/javase/tutorial/jdbc/basics/

    了解如何使用 JDBC。

    一个非常基本的例子:

        Connection c = null; //need to initialize a java.sql.Connection from JDBC.
    
    
        String sql = "SELECT * FROM Users WHERE name = ?";        
        PreparedStatement ps = c.prepareStatement(sql);
        ps.setString(1, "John Smith");
    
        ResultSet rs = ps.executeQuery();
    
        List<String> matchingNames = new ArrayList<>();
        while (rs.next())
        {
            String name = rs.getString("name");
            matchingNames.add(name);
        }       
    
        for (String name: matchingNames)
        {
            //Display dialog.
        }
    

    【讨论】:

      【解决方案3】:

      这个link 是一个非常好的 JDBC 教程。 JDBC是java使用数据库的方式,但是太基础了,几乎没有真正的项目直接使用JDBC。

      如果你想了解更多,试试MyBatisHibernate,它们是最流行的ORM框架,它们都是基于JDBC的。

      PS。 http://www.mkyong.com/这个网站有很多Java开发者的好教程

      【讨论】:

        猜你喜欢
        • 2019-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多