结构图

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 = ; 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() > ) {
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();
System.out.println(node);
System.out.println(node.getChildren());
for (TreeNode n: node.getChildren()) {
System.out.println("我是子节点:" + n.getNodeName());
}
return null;
}
}

最新文章

  1. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
  2. Java界面设计 Swing(1)
  3. Rxjava入门
  4. 01 LabVIEW的类中各个Scope的范围
  5. File API 读取上传的文件
  6. HTML5移动Web开发(六)——定义一个内容策略
  7. MacOS10.11的/usr/bin目录不可写后class-dump的处理办法
  8. 类似title的鼠标跟随事件
  9. Java 判断图片资源的存在否
  10. Bresenham画直线,任意斜率
  11. 浅谈JVM内存区域划分
  12. NYOJ 372 巧克力的
  13. 关于table布局的推荐使用原因
  14. &lt;经验杂谈&gt;C#对CA证书加密解密的简单介绍
  15. 在MFC中UpdateData()的作用
  16. iBatis第一章:基础知识概述 &amp; MVC思想
  17. 下拉列表控件实例 ComboBoxControl
  18. Mac python Tesseract 验证码识别
  19. 用shell查找某目录下的最大文件
  20. Elasticsearch 不同的搜索类型之间的区别

热门文章

  1. 移动端H5页面开发,碰到一个字体变大的BUG
  2. C# List与Dictionary相互转换与高效查找
  3. 4. java基础之修饰符
  4. Linux(三)
  5. springboot~mybatis枚举映射
  6. axios解决跨域问题(vue-cli3.0)
  7. sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的英文月份格式(27-Aug-2019)
  8. Java中的BufferedImage类、Image类、Graphics类
  9. 关于定义序列化器时,read_only和write_only有什么作用
  10. [译]Vulkan教程(17)帧缓存