对数据库通用性的更新操作(ssh)

映射文件:

    <query name="editPassword">
        update User set password=? where id=?
    </query>

注:update后面是类名,同时sql语句中用的是单引号,不是双引号

service层:

1     // 修改密码
2     public Integer editPassword(String id, String password) {
3         return userDao.executeUpdate("editPassword",password,id);
4     }
5         

注:id为query中的query标签的name属性值

dao层:

 1 //更新操作
 2     public Integer executeUpdate(String queryname, Object... objects) {
 3         SessionFactory sessionFactory = this.getSessionFactory();
 4         Session session = sessionFactory.getCurrentSession();
 5         Query query = session.getNamedQuery(queryname);//从映射文件中读取名为queryname的querys
 6         int i = 0;
 7         for (Object object : objects) {
 8             query.setParameter(i++, object);
 9         }
10         int row = query.executeUpdate();
11         return row;        ////更新操作影响的行数
12     }                                                                                    
posted @ 2017-10-10 15:52  empcl  阅读(957)  评论(0编辑  收藏  举报