zoukankan      html  css  js  c++  java
  • SSH整合二

    结构图

     articles模块

    实体类Articles.java

    package com.jt.articles.entity;
    
    public class Articles {
    
        private Integer id;
        private String title;
        private String body;
        
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getTitle() {
            return title;
        }
        public void setTitle(String title) {
            this.title = title;
        }
        public String getBody() {
            return body;
        }
        public void setBody(String body) {
            this.body = body;
        }
        @Override
        public String toString() {
            return "Articles [id=" + id + ", title=" + title + ", body=" + body + "]";
        }    
    }

    实体类映射文件articles.hbm.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class table="t_vue_articles" name="com.jt.articles.entity.Articles">
            <id name="id" type="java.lang.Integer" column="id">
                <generator class="increment"></generator>
            </id>
            
            <property name="title" type="java.lang.String" column="title"></property>
            <property name="body" type="java.lang.String" column="body"></property>
        </class>
    </hibernate-mapping>

    ArticlesBiz.java

    package com.jt.articles.biz;
    
    import java.util.List;
    
    import com.jt.articles.entity.Articles;
    import com.jt.base.util.PageBean;
    
    public interface ArticlesBiz {
    
         /**
         * 新增
         * @param articles
         * @return
         */
        public int add(Articles articles);
        
        /**
         * 修改
         * @param articles
         */
        public void update(Articles articles);
        
        /**
         * 删除
         * @param articles
         */
        public void del(Articles articles);
        
        /**
         * 查询
         * @param articles
         * @param pageBean
         * @return
         */
        public List<Articles> list(Articles articles,PageBean pageBean);
    }

    ArticlesBizImpl.java

    package com.jt.articles.biz.impl;
    
    import java.util.List;
    
    import com.jt.articles.biz.ArticlesBiz;
    import com.jt.articles.dao.ArticlesDao;
    import com.jt.articles.entity.Articles;
    import com.jt.base.util.PageBean;
    
    public class ArticlesBizImpl implements ArticlesBiz{
    
        private ArticlesDao articlesDao;
    
        public ArticlesDao getArticlesDao() {
            return articlesDao;
        }
    
        public void setArticlesDao(ArticlesDao articlesDao) {
            this.articlesDao = articlesDao;
        }
    
        @Override
        public int add(Articles articles) {
            return articlesDao.add(articles);
        }
    
        @Override
        public void update(Articles articles) {
            articlesDao.update(articles);
    
        }
    
        @Override
        public void del(Articles articles) {
            articlesDao.del(articles);
    
        }
    
        @Override
        public List<Articles> list(Articles articles, PageBean pageBean) {
            // TODO Auto-generated method stub
            return articlesDao.list(articles, pageBean);
        }
    
    }

    ArticlesDao.java

    package com.jt.articles.dao;
    
    import java.util.List;
    
    import org.hibernate.Session;
    
    import com.jt.articles.entity.Articles;
    import com.jt.base.dao.BaseDao;
    import com.jt.base.util.PageBean;
    
    public class ArticlesDao extends BaseDao{
    
        private static final long serialVersionUID = -6077790395680289782L;
    
        /**
         * 新增
         * @param articles
         * @return
         */
        public int add(Articles articles) {
            return (int) this.getHibernateTemplate().save(articles);
            
        }
        
        /**
         * 
         * 删除
         * @param articles
         */
        public void del(Articles articles) {
            this.getHibernateTemplate().delete(articles);
        }
        
        /**
         * 修改
         * @param articles
         */
        public void update(Articles articles) {
            this.getHibernateTemplate().update(articles);
        }
        
        /**
         * 查询
         * @param articles
         * @param pageBean
         * @return
         */
        public List<Articles> list(Articles articles, PageBean pageBean){
            Session session = this.getHibernateTemplate().getSessionFactory().openSession();
            session.beginTransaction();
            return super.executeQuery(session, "from Articles", null,pageBean);
         }    
    }

    ArticlesAction.java

    package com.jt.articles.web;
    
    import com.jt.articles.biz.ArticlesBiz;
    import com.jt.articles.entity.Articles;
    import com.jt.base.web.BaseAction;
    import com.opensymphony.xwork2.ModelDriven;
    
    public class ArticlesAction extends BaseAction implements ModelDriven<Articles>{
        
        private static final long serialVersionUID = 5943402081349505372L;
        
        private ArticlesBiz articlesBiz;
        private Articles articles =new Articles();
        
        public ArticlesBiz getArticlesBiz() {
            return articlesBiz;
        }
    
        public void setArticlesBiz(ArticlesBiz articlesBiz) {
            this.articlesBiz = articlesBiz;
        }
        
        /**
         * 查询
         * @return
         */
        public String list() {
            System.out.println(articlesBiz.list(articles, null));
            return null;
        }
    
        /**
         * 删除
         */
        public void del() {
            articlesBiz.del(articles);
        }
    
        /**
         * 修改
         * @return
         */
        public String update() {
            articlesBiz.update(articles);
            return null;        
        }
        
        /**
         * 新增
         * @return
         */
        public String add() {
            articlesBiz.add(articles);
            return null;
            
        }
        
    
        @Override
        public Articles getModel() {
            // TODO Auto-generated method stub
            return articles;
        }
    }

    User模块

    User.java

    package com.jt.user.entity;
    
    public class User {
    
        private String uname;
        private String pwd;
        public String getUname() {
            return uname;
        }
        public void setUname(String uname) {
            this.uname = uname;
        }
        public String getPwd() {
            return pwd;
        }
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
        @Override
        public String toString() {
            return "User [uname=" + uname + ", pwd=" + pwd + "]";
        }
    }

    实体类映射文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class table="t_vue_user" name="com.jt.user.entity.User">
            
            <id name="uname" type="java.lang.String" column="uname">
                <generator class="assigned"></generator>
            </id>
            <property name="pwd" type="java.lang.String" column="pwd"></property>
        </class>
    </hibernate-mapping>

    UserBiz.java

    package com.jt.user.biz;
    
    import com.jt.user.entity.User;
    
    public interface UserBiz {
    
        /**
         * 登录
         * @param user
         * @return
         */
        public User login(User user);
        
        /**
         * 注册
         * @param user
         * @return
         */
        public int addUser(User user);
    }

    UserBizImpl.java

    package com.jt.user.biz.impl;
    
    import com.jt.user.biz.UserBiz;
    import com.jt.user.dao.UserDao;
    import com.jt.user.entity.User;
    
    public class UserBizImpl implements UserBiz{
        
        private UserDao userDao;
        
    
        public UserDao getUserDao() {
            return userDao;
        }
    
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
    
        @Override
        public User login(User user) {
            return userDao.login(user);
        }
    
        @Override
        public int addUser(User user) {
            return userDao.addUser(user);
        }
    }

    UserDao.java

    package com.jt.user.dao;
    
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.springframework.orm.hibernate5.HibernateCallback;
    
    import com.jt.base.dao.BaseDao;
    import com.jt.user.entity.User;
    
    public class UserDao extends BaseDao{
    
        private static final long serialVersionUID = 3670806315799801488L;
    
        public User login(User user) {
            return this.getHibernateTemplate().execute(new HibernateCallback<User>() {
    
                @Override
                public User doInHibernate(Session session) throws HibernateException {
                    return (User) session.createQuery("from User where uname= '"+user.getUname()+"' and pwd= "+user.getPwd()).list();
                }
            });
        }
        
        public int addUser(User user) {
            return (int) this.getHibernateTemplate().save(user);
        }   
    }

    UserAction.java

    package com.jt.user.web;
    
    import com.jt.base.web.BaseAction;
    import com.jt.user.biz.UserBiz;
    import com.jt.user.entity.User;
    import com.opensymphony.xwork2.ModelDriven;
    
    public class UserAction extends BaseAction implements ModelDriven<User>{
        
        private static final long serialVersionUID = 4244808665377509950L;
        
        private UserBiz userBiz;
        private User user=new User();
        
        
        public UserBiz getUserBiz() {
            return userBiz;
        }
    
    
        public void setUserBiz(UserBiz userBiz) {
            this.userBiz = userBiz;
        }
    
        /**
         * 登录
         * @return
         */
        public String login() {
            userBiz.login(user);
            return null;
        }
        
        /**
         * 注册
         * @return
         */
        public String addUser() {
            userBiz.addUser(user);
            return null;    
        }
    
        @Override
        public User getModel() {
            // TODO Auto-generated method stub
            return user;
        }
    }

    tree_node模块

    TreeNode.java

    package com.jt.tree_node.entity;
    
    import java.util.HashSet;
    import java.util.Set;
    
    public class TreeNode {
        private Integer nodeId;
        private String nodeName;
        private Integer treeNodeType;
        private Integer position;
        private String url;
        // 关联父节点
        private TreeNode parent;
        // 关联子节点"们"
        private Set<TreeNode> children = new HashSet<TreeNode>();
        // 加载方式(1强制加载关联,0懒加载)
        private Integer initChildren = 0;
    
        public Integer getNodeId() {
            return nodeId;
        }
    
        public void setNodeId(Integer nodeId) {
            this.nodeId = nodeId;
        }
    
        public String getNodeName() {
            return nodeName;
        }
    
        public void setNodeName(String nodeName) {
            this.nodeName = nodeName;
        }
    
        public Integer getTreeNodeType() {
            return treeNodeType;
        }
    
        public void setTreeNodeType(Integer treeNodeType) {
            this.treeNodeType = treeNodeType;
        }
    
        public Integer getPosition() {
            return position;
        }
    
        public void setPosition(Integer position) {
            this.position = position;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url;
        }
    
        public TreeNode getParent() {
            return parent;
        }
    
        public void setParent(TreeNode parent) {
            this.parent = parent;
        }
    
        public Set<TreeNode> getChildren() {
            return children;
        }
    
        public void setChildren(Set<TreeNode> children) {
            this.children = children;
        }
    
        public Integer getInitChildren() {
            return initChildren;
        }
    
        public void setInitChildren(Integer initChildren) {
            this.initChildren = initChildren;
        }
    }

    treeNode.hbm.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class table="t_vue_tree_node" name="com.jt.tree_node.entity.TreeNode">
             <id name="nodeId" type="java.lang.Integer" column="tree_node_id">
                <generator class="increment" />
            </id>
            <property name="nodeName" type="java.lang.String"
                      column="tree_node_name">
            </property>
            <property name="treeNodeType" type="java.lang.Integer"
                      column="tree_node_type">
            </property>
            <property name="position" type="java.lang.Integer"
                      column="position">
            </property>
            <property name="url" type="java.lang.String"
                      column="url">
            </property>
            <!--
                parent定义了管理树形
                column中指定了通过那个列段来关联 对应的是当前表的主键
             -->
            <many-to-one name="parent" class="com.jt.tree_node.entity.TreeNode" column="parent_node_id"/>
    
            <!--
                这是定义子节点关联
             -->
            <set name="children" cascade="save-update" inverse="true">
                <!--凡是parent_node_id是当前节点的tree_node_id的就统统加入集合-->
                <key column="parent_node_id"></key>
                <one-to-many class="com.jt.tree_node.entity.TreeNode"/>
            </set>
    
        </class>
    </hibernate-mapping>

    TreeNodeBiz.java

    package com.jt.tree_node.biz;
    
    import java.util.List;
    
    import com.jt.tree_node.entity.TreeNode;
    
    public interface TreeNodeBiz {
         /**
         * 加载树
         * @return
         */
        public List<TreeNode> list();
    }

    TreeNodBizImpl.java

    package com.jt.tree_node.biz.impl;
    
    import java.util.List;
    
    import com.jt.tree_node.biz.TreeNodeBiz;
    import com.jt.tree_node.dao.TreeNodeDao;
    import com.jt.tree_node.entity.TreeNode;
    
    public class TreeNodBizImpl implements TreeNodeBiz{
        
        private TreeNodeDao treeNodeDao;
        
    
        public TreeNodeDao getTreeNodeDao() {
            return treeNodeDao;
        }
    
    
        public void setTreeNodeDao(TreeNodeDao treeNodeDao) {
            this.treeNodeDao = treeNodeDao;
        }
    
    
        @Override
        public List<TreeNode> list() {
            // TODO Auto-generated method stub
            return treeNodeDao.list();
        }
    
    }

    TreeNodeDao.java

    package com.jt.tree_node.dao;
    
    import java.util.List;
    
    import org.hibernate.Hibernate;
    import org.hibernate.Session;
    
    import com.jt.base.dao.BaseDao;
    import com.jt.tree_node.entity.TreeNode;
    
    public class TreeNodeDao extends BaseDao{
    
        private static final long serialVersionUID = -4339387396332761044L;
    
        public List<TreeNode> list(){
            Session session = this.getHibernateTemplate().getSessionFactory().openSession();
            session.beginTransaction();
            //这是最好的做做法 非常好 使用 hql语句进行查询
            List<TreeNode> treeNodes =  super.executeQuery(session, "from TreeNode where treeNodeType = 1", null,null);
            //进行强子加载子节点
            if (treeNodes != null && treeNodes.size() > 0) {
                for (TreeNode t : treeNodes) {
                    //强制加载子节点
                    Hibernate.initialize(t.getChildren());
                }
            }
            return treeNodes;
        }
    }

    TreeNodeAction.java

    package com.jt.tree_node.web;
    
    import java.util.List;
    
    import com.jt.base.web.BaseAction;
    import com.jt.tree_node.biz.TreeNodeBiz;
    import com.jt.tree_node.entity.TreeNode;
    
    public class TreeNodeAction extends BaseAction{
    
        private static final long serialVersionUID = -6038611615430719428L;
        
        private TreeNodeBiz treeNodeBiz;
        
        
        public TreeNodeBiz getTreeNodeBiz() {
            return treeNodeBiz;
        }
    
    
        public void setTreeNodeBiz(TreeNodeBiz treeNodeBiz) {
            this.treeNodeBiz = treeNodeBiz;
        }
    
        public String list() {
             List<TreeNode> list = treeNodeBiz.list();
             System.out.println("我是长度" + list.size());
             TreeNode node = list.get(0);
             System.out.println(node);
             System.out.println(node.getChildren());
             for (TreeNode n: node.getChildren()) {
                 System.out.println("我是子节点:" + n.getNodeName());
             }
            return null;    
        }    
    }
  • 相关阅读:
    网管必备网站地址
    数组是否包含某个元素
    Thinking in java(八)
    Thinking in java(八)
    Java8系列之重新认识HashMap
    Java8系列之重新认识HashMap
    MarkdownPad2.5/2 注册码
    MarkdownPad2.5/2 注册码
    java8函数式编程(2)
    java8函数式编程(2)
  • 原文地址:https://www.cnblogs.com/ztbk/p/11374238.html
Copyright © 2011-2022 走看看