如何使用sqlMap从数据库获取对象?

发布于 2024-12-29 21:42:21 字数 1085 浏览 1 评论 0原文

我想使用 sqlMap 从数据库插入和获取对象。插入用户工作正常,但是当我调用 getUser 时,它会抛出异常“请求处理失败;嵌套异常是 java.lang.NullPointerException”。

SqlUserDaoImpl

public void insertUser(User user)
{
    try
    {
        getSqlMapClientTemplate().insert("User.insert", user);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

@Override
public User getUser(String email) {
    User user=null;
    try 
    {
        user = (User) getSqlMapClientTemplate().queryForObject("User.getUser", email);            
    } catch (Exception e) {
        e.printStackTrace();
    }

    return user;
}

用户.xml

<sqlMap namespace="User">
    <select id="getUser" resultClass="MyProject.domain.User">
        select userName as name, password as password, email as email from users where email = #value#
    </select>

    <insert id="insert" parameterClass="MyProject.domain.User">
        insert into users (userName,password,email) values
        (#name#,#password#,#email#)
    </insert>
</sqlMap>

I want to insert and get object from database using sqlMap. insert user is working fine but when i call getUser it throw an exception "Request processing failed; nested exception is java.lang.NullPointerException".

SqlUserDaoImpl

public void insertUser(User user)
{
    try
    {
        getSqlMapClientTemplate().insert("User.insert", user);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

@Override
public User getUser(String email) {
    User user=null;
    try 
    {
        user = (User) getSqlMapClientTemplate().queryForObject("User.getUser", email);            
    } catch (Exception e) {
        e.printStackTrace();
    }

    return user;
}

User.xml

<sqlMap namespace="User">
    <select id="getUser" resultClass="MyProject.domain.User">
        select userName as name, password as password, email as email from users where email = #value#
    </select>

    <insert id="insert" parameterClass="MyProject.domain.User">
        insert into users (userName,password,email) values
        (#name#,#password#,#email#)
    </insert>
</sqlMap>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子是时光的心 2025-01-05 21:42:21

在 sqlmap 中,您没有为 getUser 语句指定parameterClass; 添加:

parameterClass="string" 

尝试在您的声明中

In you sqlmap you are not specifying the parameterClass for the getUser statement; try adding:

parameterClass="string" 

to your statement.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文