我有7個(gè)表
          1、user存儲(chǔ)用戶信息
          2、role存儲(chǔ)角色信息
          3、menu存儲(chǔ)菜單信息,其中每個(gè)菜單對(duì)應(yīng)一個(gè)function信息
          4、function存儲(chǔ)功能模塊信息
          5、o_func_user存儲(chǔ)用戶和功能關(guān)聯(lián)關(guān)系
          6、o_func_role存儲(chǔ)角色和功能關(guān)聯(lián)關(guān)系
          7、o_role_user存儲(chǔ)角色和用戶關(guān)聯(lián)關(guān)系
          我要根據(jù)用戶ID取得所擁有的菜單權(quán)限,當(dāng)然寫SQL語(yǔ)句很簡(jiǎn)單,但是對(duì)HSQL不是很熟悉,請(qǐng)問如何用HSQL取得所擁有的菜單信息?

          Feedback

          # ssh框架怎樣對(duì)數(shù)據(jù)庫(kù)做修改、添加操作?[未登錄]  回復(fù)  更多評(píng)論   

          2007-05-30 11:54 by 新人
          1.具體的Action里不會(huì)寫!!
          DAO接口
          *****************
          package com.linkingstar.bis.common.dao;

          import java.util.List;

          import com.linkingstar.bis.common.model.UserPO;

          /**
          *
          * 用戶數(shù)據(jù)表的DAO接口
          *
          */

          public interface IUserDAO {

          UserPO get(String userId);

          void save(UserPO userPO);

          void update(UserPO userPO);

          void remove(UserPO userPO);

          List findAll();
          List findAll2(String usercode);
          List findODD(String usercode);


          }
          *****************
          DAO
          *****************
          package com.linkingstar.bis.common.dao;

          import java.util.ArrayList;
          import java.util.List;

          import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

          import com.linkingstar.bis.common.model.UserPO;
          import com.linkingstar.bis.common.dao.IUserDAO;

          /**
          *
          * 用戶數(shù)據(jù)表的DAO實(shí)現(xiàn)類
          *
          */
          public class UserDAOImpl extends HibernateDaoSupport implements IUserDAO {
          private String LOAD_BY_ALL = "from UserPO userPO";
          private String LOAD_BY_ODD = "from UserPO userPO where userPO.usercode=?";
          public UserDAOImpl() {
          super();
          }
          public UserPO get(String userId) {
          try{
          return (UserPO) this.getHibernateTemplate().get(UserPO.class,userId);
          }catch(Exception ex){
          ex.printStackTrace();
          return null;
          }
          }
          public void save(UserPO userPO) {
          try {
          this.getHibernateTemplate().save(userPO);
          } catch (Exception ex) {
          ex.printStackTrace();
          }
          }
          public void update(UserPO userPO) {
          try {
          this.getHibernateTemplate().update(userPO);
          } catch (Exception ex) {
          ex.printStackTrace();
          }
          }
          public void remove(UserPO userPO) {
          try {
          this.getHibernateTemplate().delete(userPO);
          } catch (Exception ex) {
          ex.printStackTrace();
          }
          }
          public List findAll() {
          try{
          return this.getHibernateTemplate().find(LOAD_BY_ALL);
          }catch(Exception ex){
          ex.printStackTrace();
          return new ArrayList();
          }
          }
          public List findODD(String usercode) {
          try{
          this.getHibernateTemplate().find(LOAD_BY_ODD,usercode);
          }catch(Exception ex){
          ex.printStackTrace();
          return new ArrayList();
          }
          }
          public List findAll2(String usercode) {
          try{
          String s="改 前 查詢 ";
          System.out.println(s);
          return this.getHibernateTemplate().find(LOAD_BY_ALL);

          }catch(Exception ex){
          ex.printStackTrace();
          return new ArrayList();
          }
          }
          }
          ********************
          2.BO
          BO接口
          *************
          package com.linkingstar.bis.common.service;

          import java.util.List;

          import com.linkingstar.bis.common.model.UserPO;

          /**
          *
          * 用戶數(shù)據(jù)表的BO接口
          *
          */

          public interface IUserService {

          public UserPO get(String userId);

          public void save(UserPO userPO);

          public void update(UserPO userPO);

          public void remove(UserPO userPO);

          List findAll();
          List findAll2(String usercode);
          List findODD(String usercode);
          }
          ***********
          BO
          ***********
          package com.linkingstar.bis.common.service;

          import java.util.List;

          import com.linkingstar.bis.common.dao.IUserDAO;
          import com.linkingstar.bis.common.model.UserPO;

          /**
          *
          * 用戶數(shù)據(jù)表的BO實(shí)現(xiàn)類
          *
          */

          public class UserServiceImpl implements IUserService{

          private IUserDAO userDAO;
          public IUserDAO getUserDAO(){
          return this.userDAO;
          }
          public void setUserDAO(IUserDAO userDAO){
          this.userDAO = userDAO;
          }

          /**
          *
          */
          public UserServiceImpl() {
          super();
          }
          /**
          *
          */
          public UserPO get(String userId) {
          return this.getUserDAO().get(userId);
          }
          public void save(UserPO userPO) {
          this.getUserDAO().save(userPO);
          }
          public void update(UserPO userPO) {
          this.getUserDAO().update(userPO);
          }
          public void remove(UserPO userPO) {
          this.getUserDAO().remove(userPO);
          }
          public List findAll() {
          this.getUserDAO().findAll();
          return this.getUserDAO().findAll();
          }
          public List findAll2(String usercode) {
          this.getUserDAO().findAll2(usercode);
          return this.getUserDAO().findAll2(usercode);
          }
          public List findODD(String usercode){
          this.getUserDAO().findODD(usercode);
          return this.getUserDAO().findODD(usercode);
          }
          }
          ********

          # re: 請(qǐng)教一個(gè)hibernate組合查詢的問題,謝謝!  回復(fù)  更多評(píng)論   

          2007-06-07 11:26 by driver
          Hibernate對(duì)多表聯(lián)合查詢還不健全,現(xiàn)有的方法很不方便
          建議你用spring的jdbcTemplate查詢。

          posts - 9, comments - 19, trackbacks - 0, articles - 1

          Copyright © 姜海龍

          主站蜘蛛池模板: 新晃| 和硕县| 天镇县| 远安县| 枣庄市| 辽宁省| 安阳市| 秦皇岛市| 郎溪县| 靖西县| 宽甸| 玛沁县| 宁晋县| 南投市| 吐鲁番市| 延安市| 萨嘎县| 平罗县| 龙川县| 安丘市| 高阳县| 通城县| 宣城市| 阳曲县| 恩施市| 景宁| 蓬安县| 文安县| 长岛县| 吴忠市| 化德县| 开江县| 台东市| 大丰市| 都江堰市| 都兰县| 武威市| 黎城县| 保亭| 葵青区| 贡山|