dti

xiaoxiao2025-12-30  4

五、java文件

1、包hibernate

   HibernateOperation.java文件:

package hibernate;      import org.hibernate.*;    import org.hibernate.cfg.*;         public class HibernateOperation{             public static final SessionFactory sessionFactory;          //静态变量,用于产生Session作为数据库连接             static {            try {                sessionFactory = new Configuration().configure().buildSessionFactory();                //从hibernate.cfg.xml创建全局SessionFactory            } catch (Throwable ex) {                System.err.println("Initial SessionFactory creation failed." + ex);                throw new ExceptionInInitializerError(ex);                //创建SessionFactory失败,抛出异常            }         }          //静态初始化过程,产生全局SessionFactory(相当于产生数据库连接的工厂),该静态初始化过程仅当JVM加载该类时执行一次             public static final ThreadLocal session = new ThreadLocal();             public static Session currentSession() throws HibernateException {            Session s = (Session) session.get();            // 打开一个新的 Session            if (s == null) {                s = sessionFactory.openSession();               session.set(s);           }            return s;          }          public static void closeSession() throws HibernateException {            Session s = (Session) session.get();            if (s != null)                s.close();                //关闭session            session.set(null);    }   }

2、包page

Page.java文件:

package page;    import java.math.*;       public class Page{           private int totalRows; //总行数        private int pageSize = 5//每页显示的行数        private int currentPage=1//当前页号        private int totalPages; //总页数        private int startRow=0//当前页在数据库中的起始行0,pageSize,pageSize*2,pageSize*3...                       public Page() {        }          public Page(int totalRows) {        this.totalRows =totalRows;            totalPages=totalRows/pageSize;            int mod=totalRows%pageSize;            if(mod>0){            totalPages++;           }            currentPage = 1;            startRow = 0;            }        //为了在完成删除或修改后能显示当前页            public Page(int totalRows,int currentPage,int startRow) {        this.totalRows =totalRows;            totalPages=totalRows/pageSize;            int mod=totalRows%pageSize;            if(mod>0){            totalPages++;           }                                   this.currentPage=currentPage;            this.startRow=startRow;            }               public Page(int totalRows,int currentPage) {        this.totalRows =totalRows;            totalPages=totalRows/pageSize;            int mod=totalRows%pageSize;            if(mod>0){            totalPages++;           }                         if(currentPage<=0)    currentPage =1;            if(currentPage>totalPages) currentPage=totalPages;            this.currentPage =currentPage;            startRow = (currentPage - 1)*pageSize;            }    //总行数        public void setTotalRows(int totalRows) {            this.totalRows = totalRows;        }         public int getTotalRows() {           return totalRows;        }    //每页显示的行数        public void setPageSize(int pageSize) {            this.pageSize = pageSize;       }        public int getPageSize() {            return pageSize;        }    //当前页号        public void setCurrentPage(int currentPage) {            this.currentPage = currentPage;       }         public int getCurrentPage() {            return currentPage;        }      //总页数        public void setTotalPages(int totalPages) {            this.totalPages = totalPages;        }              public int getTotalPages() {            return totalPages;        }    //当前页在数据库中的起始行        public void setStartRow(int startRow) {            this.startRow = startRow;        }                   public int getStartRow() {        return startRow;        }   }

3、包user里的文件:

(1)、User.java文件:

package user;      public class User implements java.io.Serializable {         private int id;    private String name;    private String password;         public User() {    }        public User(int id) {       this.id = id;    }        public User(int id, String name, String password) {       this.id = id;       this.name = name;       this.password = password;    }        public int getId() {       return this.id;    }      public void setId(int id) {       this.id = id;    }      public String getName() {       return this.name;    }      public void setName(String name) {       this.name = name;    }      public String getPassword() {       return this.password;    }      public void setPassword(String password) {       this.password = password;    }     }  

(2)、UserDAO.java文件(关于数据库的操作):

package user;      import java.util.ArrayList;    import java.util.Iterator;    import org.hibernate.Session;    import org.hibernate.Transaction;    import java.util.List;    import org.hibernate.Query;    import hibernate.*;       public class UserDAO{       private Session session=null;        private Transaction tx=null;            public boolean isLogin(String name,String password){            boolean flag = false;         try{               session=HibernateOperation.currentSession();                String hql = "FROM User AS u WHERE u.name='"+name+"' AND u.password='"+password+"'";                tx= session.beginTransaction();               Query q=(Query)session.createQuery(hql);         Iterator iter = q.list().iterator();          if (iter.hasNext()) {          flag = true;          }         tx.commit();         session.close();        }        catch(RuntimeException e){        if(tx!=null) tx.rollback();        session.close();        throw e;        }       return flag;       }       public ArrayList getUserList(){       List list=new ArrayList();           session=HibernateOperation.currentSession();           try{                tx= session.beginTransaction();                String hql = "FROM User AS u ORDER BY u.id";                Query q = session.createQuery(hql);                       list=q.list();         tx.commit();          }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }              return (ArrayList) list;     }      public int getRows(String hql){        int totalRows = 0;            session=HibernateOperation.currentSession();            try {            tx = session.beginTransaction();            //String hql = "SELECT COUNT(*) FROM User";            Query q = session.createQuery(hql);                          List L=q.list();                totalRows=((Integer)(L.get(0))).intValue();                          tx.commit();                            }             catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }            return totalRows;            }      //得到一页用户列表    public ArrayList getUserList(int pageSize, int startRow,String hql){       List list=new ArrayList();           session=HibernateOperation.currentSession();           try{                tx= session.beginTransaction();                //String hql = "FROM User AS u ORDER BY u.id";                Query q = session.createQuery(hql);                q.setFirstResult(startRow);//0,5,10....                q.setMaxResults(pageSize);               list=q.list();         tx.commit();          }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }              return (ArrayList) list;     }      //显示查询           public String Searchuser(String keyword,String cat){        String hql=null;        String s=null;//取得列名        if(keyword==null){           hql="FROM User";        }        else{             if(cat.equals("00")) s="name";             else{             s="password";                  }             hql="FROM User AS u WHERE "+s+" like '%"+keyword+"%'";        }           return hql;        }           //删除用户    public void Deluser(int id){       boolean flag = false;        session=HibernateOperation.currentSession();                   try{            tx= session.beginTransaction();                User user=(User)session.get(User.class,id);                session.delete(user);               session.flush();         tx.commit();      }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }       }     }  

(3)、UserListAction.java文件:

package user;      import java.util.ArrayList;    import java.util.Iterator;    import org.hibernate.Session;    import org.hibernate.Transaction;    import java.util.List;    import org.hibernate.Query;    import hibernate.*;       public class UserDAO{       private Session session=null;        private Transaction tx=null;            public boolean isLogin(String name,String password){            boolean flag = false;         try{               session=HibernateOperation.currentSession();                String hql = "FROM User AS u WHERE u.name='"+name+"' AND u.password='"+password+"'";                tx= session.beginTransaction();               Query q=(Query)session.createQuery(hql);         Iterator iter = q.list().iterator();          if (iter.hasNext()) {          flag = true;          }         tx.commit();         session.close();        }        catch(RuntimeException e){        if(tx!=null) tx.rollback();        session.close();        throw e;        }       return flag;       }       public ArrayList getUserList(){       List list=new ArrayList();           session=HibernateOperation.currentSession();           try{                tx= session.beginTransaction();                String hql = "FROM User AS u ORDER BY u.id";                Query q = session.createQuery(hql);                       list=q.list();         tx.commit();          }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }              return (ArrayList) list;     }      public int getRows(String hql){        int totalRows = 0;            session=HibernateOperation.currentSession();            try {            tx = session.beginTransaction();            //String hql = "SELECT COUNT(*) FROM User";            Query q = session.createQuery(hql);                          List L=q.list();                totalRows=((Integer)(L.get(0))).intValue();                          tx.commit();                            }             catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }            return totalRows;            }      //得到一页用户列表    public ArrayList getUserList(int pageSize, int startRow,String hql){       List list=new ArrayList();           session=HibernateOperation.currentSession();           try{                tx= session.beginTransaction();                //String hql = "FROM User AS u ORDER BY u.id";                Query q = session.createQuery(hql);                q.setFirstResult(startRow);//0,5,10....                q.setMaxResults(pageSize);               list=q.list();         tx.commit();          }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }              return (ArrayList) list;     }      //显示查询           public String Searchuser(String keyword,String cat){        String hql=null;        String s=null;//取得列名        if(keyword==null){           hql="FROM User";        }        else{             if(cat.equals("00")) s="name";             else{             s="password";                  }             hql="FROM User AS u WHERE "+s+" like '%"+keyword+"%'";        }           return hql;        }           //删除用户    public void Deluser(int id){       boolean flag = false;        session=HibernateOperation.currentSession();                   try{            tx= session.beginTransaction();                User user=(User)session.get(User.class,id);                session.delete(user);               session.flush();         tx.commit();      }           catch(RuntimeException e){        if(tx!=null) tx.rollback();        throw e;        }       finally {         HibernateOperation.closeSession();            }       }      } 

(4)、UserWidgetAction.java文件:

package user;      import com.opensymphony.xwork2.ActionSupport;    import com.opensymphony.xwork2.ActionContext;    import java.util.ArrayList;    import java.util.List;    import java.util.Map;       import page.*;       public class UserWidgetAction extends ActionSupport {    /**   */   private static final long serialVersionUID = 1L;    private List userList;    protected String currentPage;    private Page page;          public String execute() throws Exception {             UserDAO dao=new UserDAO();       ActionContext ctx = ActionContext.getContext();            Map m=ctx.getSession();          String keyword=(String) m.get("search_keyword");       String cat=(String) m.get("search_cat");       String hql_1=dao.Searchuser(keyword,cat);       String hql_2="select count(*) "+hql_1;       int totalRows=dao.getRows(hql_2);       int _currentPage=Integer.parseInt(currentPage);       page=
转载请注明原文地址: https://www.6miu.com/read-5041776.html

最新回复(0)