SSH integration of two

Structure chart

 articles module

Entity class 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 + "]";
    }    
}

 

Entity Mapping File 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 Module

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 + "]";
    }
}

 

Entity Mapping File

<?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 module

TreeNode.java

com.jt.tree_node.entity Package; 

Import java.util.HashSet with; 
Import java.util.Set; 

public  class the TreeNode {
     Private Integer the nodeId;
     Private String the nodeName;
     Private Integer treeNodeType;
     Private Integer position;
     Private String URL;
     // association parent 
    Private the TreeNode parent;
     // associated child nodes "are" 
    Private the Set <the TreeNode> Children = new new HashSet <the TreeNode> ();
     // loading (loading force associated 1, 0 lazy loading) 
    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 defines the management tree 
            column specified by the column associated with the corresponding section through the current table is the primary key
          -> 
        <MANY = name-to-One "parent" class= " Com.jt.tree_node.entity.TreeNode " column = " parent_node_id " /> 

        <-! 
            This is associated with a child node is defined
          -> 
        < SET name = " Children " Cascade = " Save-Update " inverse = " to true " > 
            <! - the current node is usually parent_node_id tree_node_id added on all set -> 
            <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

com.jt.tree_node.dao Package; 

Import java.util.List; 

Import on org.hibernate.Hibernate; 
Import org.hibernate.Session for; 

Import com.jt. Base .dao.BaseDao; 
Import com.jt.tree_node.entity. the TreeNode; 

public  class TreeNodeDao the extends BaseDao { 

    Private  static Final Long serialVersionUID = - 4339387396332761044L ; 

    public List <the TreeNode> List () { 
        the Session the session = the this .. .getHibernateTemplate () the getSessionFactory () the openSession (); 
        session.beginTransaction (); 
        / / this is the best practice to do very well using query statement hql
        List <the TreeNode> TreeNodes = super.executeQuery (the session, " from the TreeNode = WHERE treeNodeType. 1 " , null , null );
         // for hadron loading child nodes 
        IF (TreeNodes =! Null && treeNodes.size ()> 0 ) {
             for (the TreeNode T: TreeNodes) {
                 // force the loading child nodes 
                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;    
    }    
}

 

Guess you like

Origin www.cnblogs.com/ztbk/p/11374238.html