首页 > 解决方案 > 在java中存储sql查询的最佳方法是什么

问题描述

我正在使用 java servlet 编写一个简单的服务器。为了从数据库中获取数据,我编写了特殊的 Dao 层类,我想了解我应该在哪里存储我的 SQL 查询?

@Override
    public boolean checkIsUserExists(String login) {
        try {
            PreparedStatement preparedStatement =
                    connection.prepareStatement("select * from clients where login=?");
            preparedStatement.setString(1, login);
            ResultSet resultSet = preparedStatement.executeQuery();
            if (resultSet.next()) {
                return true;
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }


        return false;
    }

我是否需要创建一个特殊的类SQLQueries,将查询存储为最终字符串,或者有更有效的方法来做到这一点?

标签: javasqljdbcdao

解决方案


由于这是一个常量,建议使用如下的常量类:

//cannot be extended
public final class Constants {

   //private constructor
   private Constants(){}
   public static String SQL_FIND_CLIENTS_FOR_LOGIN="select * from clients where login=?;
}

现在在你的主类中做一个静态导入并使用它:

import static Constants.SQL_FIND_CLIENTS_FOR_LOGIN;

推荐阅读