package com.lihao.vue.biz;
import java.util.List;
import com.lihao.vue.entity.Article;
import com.lihao.vue.util.PageBean;
public interface ArticleBiz {
public List list(Article article,PageBean pageBean);
public int save(Article article);
public int edit(Article article);
public void del(Article article);
}
ArticleBizImpl:
package com.lihao.vue.biz.impl;
import java.util.List;
import com.lihao.vue.biz.ArticleBiz;
import com.lihao.vue.dao.ArticleDao;
import com.lihao.vue.entity.Article;
import com.lihao.vue.util.PageBean;
public class ArticleBizImpl implements ArticleBiz {
private ArticleDao articleDao;
public ArticleDao getArticleDao() {
return articleDao;
}
public void setArticleDao(ArticleDao articleDao) {
this.articleDao = articleDao;
}
@Override
public List list(Article article, PageBean pageBean) {
return articleDao.list(article, pageBean);
}
@Override
public int save(Article article) {
return articleDao.save(article);
}
@Override
public void del(Article article) {
articleDao.del(article);
}
@Override
public int edit(Article article) {
return articleDao.update(article);
}
}
TreeNodeBiz:
package com.lihao.vue.biz;
import java.util.List;
import com.lihao.vue.entity.TreeNode;
public interface TreeNodeBiz {
public List list();
}
TreeNodeBizImpl:
package com.lihao.vue.biz.impl;
import java.util.List;
import com.lihao.vue.biz.TreeNodeBiz;
import com.lihao.vue.dao.TreeNodeDao;
import com.lihao.vue.entity.TreeNode;
public class TreeNodeBizImpl implements TreeNodeBiz{
private TreeNodeDao treeNodeDao;
public TreeNodeDao getTreeNodeDao() {
return treeNodeDao;
}
public void setTreeNodeDao(TreeNodeDao treeNodeDao) {
this.treeNodeDao = treeNodeDao;
}
@Override
public List list() {
return treeNodeDao.list();
}
}
UserBiz:
package com.lihao.vue.biz;
import com.lihao.vue.entity.User;
public interface UserBiz {
public User login(User user);
}
UserBizImpl :
package com.lihao.vue.biz.impl;
import com.lihao.vue.biz.UserBiz;
import com.lihao.vue.dao.UserDao;
import com.lihao.vue.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.list(user, null).get(0);
}
}
Dao层
ArticleDao:
package com.lihao.vue.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;
import com.lihao.base.dao.BaseDao;
import com.lihao.vue.entity.Article;
import com.lihao.vue.util.PageBean;
import com.lihao.vue.util.StringUtils;
public class ArticleDao extends BaseDao {
private static final long serialVersionUID = -2644908989655094673L;
public List list(Article article,PageBean pageBean) {
BaseDao obj = this;
return (List) this.getHibernateTemplate().execute(new HibernateCallback>() {
@Override
public List doInHibernate(Session session) throws HibernateException {
String hql = "from Article";
Map map = new HashMap<>();
if (StringUtils.isNotBlank(article.getTitle())) {
hql += " where title like :title";
map.put("title", "%"+article.getTitle()+"%");
}
return obj.executeQuery(session, hql, map, pageBean);
}
});
}
public int save(Article article) {
return (int) this.getHibernateTemplate().save(article);
}
public int update(Article article) {
this.getHibernateTemplate().update(article);
return article.getId();
}
public void del(Article article) {
this.getHibernateTemplate().delete(article);
}
}
TreeNodeDao:
package com.lihao.vue.dao;
import java.util.List;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;
import com.lihao.base.dao.BaseDao;
import com.lihao.vue.entity.TreeNode;
public class TreeNodeDao extends BaseDao {
private static final long serialVersionUID = 1297339130752837659L;
public void add(TreeNode treeNode) {
this.getHibernateTemplate().save(treeNode);
}
public List list(){
return (List) this.getHibernateTemplate().execute(new HibernateCallback>() {
@Override
public List doInHibernate(Session session) throws HibernateException {
List list = (List) session.createQuery("from TreeNode where treeNodeType=1").list();
// for (TreeNode treeNode : list) {
// Hibernate.initialize(treeNode.getChildren());
// }
return list;
}
});
}
}
UserDao:
package com.lihao.vue.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;
import com.lihao.base.dao.BaseDao;
import com.lihao.vue.entity.User;
import com.lihao.vue.util.PageBean;
import com.lihao.vue.util.StringUtils;
public class UserDao extends BaseDao {
private static final long serialVersionUID = -2644908989655094673L;
public List list(User user,PageBean pageBean) {
BaseDao obj = this;
return (List) this.getHibernateTemplate().execute(new HibernateCallback>() {
@Override
public List doInHibernate(Session session) throws HibernateException {
String hql = "from User where 1=1 ";
Map map = new HashMap<>();
String uname = user.getUname();
String pwd = user.getPwd();
if (StringUtils.isNotBlank(uname)) {
hql += " and uname = :uname";
map.put("uname", uname);
}
if (StringUtils.isNotBlank(pwd)) {
hql += " and pwd = :pwd";
map.put("pwd", pwd);
}
return obj.executeQuery(session, hql, map, pageBean);
}
});
}
}
entity层
Article:
package com.lihao.vue.entity;
public class Article {
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;
}
}
TreeNode:
package com.lihao.vue.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class TreeNode implements Serializable{
private Integer treeNodeId;
private String treeNodeName;
private Integer treeNodeType;
// private int parentNodeId;
private String url;
private Integer position;
private String icon;
private List children = new ArrayList<>();
@Override
public String toString() {
return "TreeNode [treeNodeId=" + treeNodeId + ", treeNodeName=" + treeNodeName + ", treeNodeType="
+ treeNodeType + ", url=" + url + ", position=" + position + ", icon=" + icon + ", children=" + children
+ "]";
}
public Integer getTreeNodeId() {
return treeNodeId;
}
public void setTreeNodeId(Integer treeNodeId) {
this.treeNodeId = treeNodeId;
}
public String getTreeNodeName() {
return treeNodeName;
}
public void setTreeNodeName(String treeNodeName) {
this.treeNodeName = treeNodeName;
}
public Integer getTreeNodeType() {
return treeNodeType;
}
public void setTreeNodeType(Integer treeNodeType) {
this.treeNodeType = treeNodeType;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Integer getPosition() {
return position;
}
public void setPosition(Integer position) {
this.position = position;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public List getChildren() {
return children;
}
public void setChildren(List children) {
this.children = children;
}
// public int getParentNodeId() {
// return parentNodeId;
// }
//
// public void setParentNodeId(int parentNodeId) {
// this.parentNodeId = parentNodeId;
// }
}
User:
package com.lihao.vue.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 + "]";
}
public User(String uname, String pwd) {
super();
this.uname = uname;
this.pwd = pwd;
}
public User() {
super();
}
}
Archetype Created Web ApplicationcontextConfigLocationclasspath:spring-context.xml
org.springframework.web.context.ContextLoaderListener
corsFiltercom.lihao.vue.util.CorsFiltercorsFilter/*jwtFiltercom.lihao.vue.util.JwtFilterjwtFilter/*struts2
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
struts2*.actionencodingFilter
org.springframework.web.filter.CharacterEncodingFilter
trueencodingUTF-8encodingFilter/*
.oracle层次查询(connect by)
oracle的emp表中包含了一列mgr指出谁是雇员的经理,由于经理也是雇员,所以经理的信息也存储在emp表中。这样emp表就是一个自引用表,表中的mgr列是一个自引用列,它指向emp表中的empno列,mgr表示一个员工的管理者,
select empno,mgr,ename,sal from e
SAPHANA平台有各种各样的应用场景,这也意味着客户的实施方法有许多种选择,关键是如何挑选最适合他们需求的实施方案。
在 《Implementing SAP HANA》这本书中,介绍了SAP平台在现实场景中的运作原理,并给出了实施建议和成功案例供参考。本系列文章节选自《Implementing SAP HANA》,介绍了行存储和列存储的各自特点,以及SAP HANA的数据存储方式如何提升空间压
学习Java有没有什么捷径?要想学好Java,首先要知道Java的大致分类。自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE
JSF 2.0 introduced annotation @ViewScoped; A bean annotated with this scope maintained its state as long as the user stays on the same view(reloads or navigation - no intervening views). One problem w
很多文档说Zookeeper是强一致性保证,事实不然。关于一致性模型请参考http://bit1129.iteye.com/blog/2155336
Zookeeper的数据同步协议
Zookeeper采用称为Quorum Based Protocol的数据同步协议。假如Zookeeper集群有N台Zookeeper服务器(N通常取奇数,3台能够满足数据可靠性同时
Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没