相关疑难解决方法(0)

什么是"执行"成语?

我听说过这个"执行周围"的习语(或类似的)是什么?为什么我可以使用它,为什么我不想使用它?

java language-agnostic design-patterns idioms

147
推荐指数
5
解决办法
2万
查看次数

传递ResultSet是否可以?

在我的情况下,我正在查询数据库以获取特定的回报(在这种情况下,基于用户名的注册信息).

            //Build SQL String and Query Database.
        if(formValid){
            try {
                SQL = "SELECT * FROM users WHERE username=? AND email=?";
                Collections.addAll(fields, username, email);
                results = services.DataService.getData(SQL, fields);
                if (!results.next()){
                    errMessages.add("User account not found.");
                } else {
                    user = new User();
                    user.fillUser(results); //Is it ok to pass ResultSet Around?
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                services.DataService.closeDataObjects(); //Does this close the ResultSet I passed to fillUser?
            }
        }
Run Code Online (Sandbox Code Playgroud)

因此,一旦我查询数据库,如果找到结果,我创建一个新的User对象并用我从数据库收到的数据填充它.我曾经在我将结果集拉入的方法中直接执行所有这些操作,但我意识到我在整个项目中都进行了大量的冗余编码,因此我将其全部移动到一个存在于实际User bean中的中心方法中.

    public void fillUser(ResultSet data) throws SQLException{
    setUserId(data.getInt("id"));
    setFirstName(data.getString("first_name")); …
Run Code Online (Sandbox Code Playgroud)

java servlets jdbc

10
推荐指数
1
解决办法
1万
查看次数