SSH的登录注册与CRUD

什么是ssh?

ssh (MVC软件开发模式)
SSH(Struts,Spring,Hibernate或SpringMVC,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。

登陆注册

实体类

User

package com.tzp.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;
	}
	public User(String uname, String pwd) {
		super();
		this.uname = uname;
		this.pwd = pwd;
	}
	
	@Override
	public String toString() {
		return "User [uname=" + uname + ", pwd=" + pwd + "]";
	}
	public User() {}
	
}

User.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_user" name="com.tzp.user.entity.User">
		 <id name="uname" type="java.lang.String" column="uname"></id> 
		<property name="pwd" type="java.lang.String" column="upwd"></property>
	</class>
</hibernate-mapping>

TreeNode

package com.tzp.user.entity;

import com.tzp.base.entity.BaseEntity;

public class TreeNode extends BaseEntity{
	
	private static final long serialVersionUID = 5079418123867682448L;
	private int treenodeid;
	private String treenodename;
	private int treenodetype;
	private int parentnodeid;
	private String url;
	private int position;
	private String icon;
	public int getTreenodeid() {
		return treenodeid;
	}
	public void setTreenodeid(int treenodeid) {
		this.treenodeid = treenodeid;
	}
	public String getTreenodename() {
		return treenodename;
	}
	public void setTreenodename(String treenodename) {
		this.treenodename = treenodename;
	}
	public int getTreenodetype() {
		return treenodetype;
	}
	public void setTreenodetype(int treenodetype) {
		this.treenodetype = treenodetype;
	}
	public int getParentnodeid() {
		return parentnodeid;
	}
	public void setParentnodeid(int parentnodeid) {
		this.parentnodeid = parentnodeid;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public int getPosition() {
		return position;
	}
	public void setPosition(int position) {
		this.position = position;
	}
	public String getIcon() {
		return icon;
	}
	public void setIcon(String icon) {
		this.icon = icon;
	}
	public TreeNode(int treenodeid, String treenodename, int treenodetype, int parentnodeid, String url, int position,
			String icon) {
		super();
		this.treenodeid = treenodeid;
		this.treenodename = treenodename;
		this.treenodetype = treenodetype;
		this.parentnodeid = parentnodeid;
		this.url = url;
		this.position = position;
		this.icon = icon;
	}
	public TreeNode() {
		super();
	}
	@Override
	public String toString() {
		return "TreeNode [treenodeid=" + treenodeid + ", treenodename=" + treenodename + ", treenodetype="
				+ treenodetype + ", parentnodeid=" + parentnodeid + ", url=" + url + ", position=" + position
				+ ", icon=" + icon + "]";
	}
	
}


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.tzp.user.entity.TreeNode">
		<id name="treenodeid" type="java.lang.Integer" column="tree_node_id">
			<generator class="increment"></generator>
		</id>
		
		<property name="treenodename" type="java.lang.String" column="tree_node_name"></property>
		<property name="treenodetype" type="java.lang.Integer" column="tree_node_type"></property>
		<property name="parentnodeid" type="java.lang.Integer" column="parent_node_id"></property>
		<property name="url" type="java.lang.String" column="url"></property>
		<property name="position" type="java.lang.Integer" column="position"></property>
		<property name="icon" type="java.lang.String" column="icon"></property>
	</class>
</hibernate-mapping>


Dao层

UserDao

package com.tzp.user.dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;

import com.tzp.base.dao.BaseDao;
import com.tzp.user.entity.TreeNode;
import com.tzp.user.entity.User;

public class UserDao extends BaseDao{
	
	/**
	 * 用户登录
	 * @param user
	 * @return
	 */
	public User login(User user) {
		return this.getHibernateTemplate().execute(new HibernateCallback<User>() {

			@Override
			public User doInHibernate(Session session) throws HibernateException {
				String hql=" from User where uname='"+user.getUname()+"' and pwd='"+user.getPwd()+"'";
				List<User> list=session.createQuery(hql).list();
				if(list.size()==0) {
					return null;
				}
				return list.get(0);
			}
		});
	}
	
	
	/**
	 * 用户注册
	 * @param u
	 * @return
	 */
	public String register(User u) {
		return (String) this.getHibernateTemplate().save(u);
	}
	
	
	/**
	 * 查询所有
	 * @param user
	 * @return
	 */
	public List<User> list(User user){
		return this.getHibernateTemplate().execute(new HibernateCallback<List<User>>() {

			@Override
			public List<User> doInHibernate(Session session) throws HibernateException {
				return session.createQuery("from User").list();
			}
		});
	}


	
	
	 /**
	   * 展示树形菜单
	   * @return
	   */
	  public List<TreeNode> listNode(){
			
		return this.getHibernateTemplate().execute(new HibernateCallback<List<TreeNode>>() {

			@Override
			public List<TreeNode> doInHibernate(Session session) throws HibernateException {
				return session.createQuery("from TreeNode").list();
			}
		});
	}
	
}

Biz层

UserBiz

package com.tzp.user.biz;

import java.util.List;

import com.tzp.user.entity.TreeNode;
import com.tzp.user.entity.User;

public interface UserBiz {
	public User login(User user);
	public String register(User user);
	public List<User> list(User user);
	public List<TreeNode> listNode();
}


UserBizImpl

package com.tzp.user.biz.impl;

import java.util.List;

import com.tzp.user.biz.UserBiz;
import com.tzp.user.dao.UserDao;
import com.tzp.user.entity.TreeNode;
import com.tzp.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) {
		// TODO Auto-generated method stub
		return userDao.login(user);
	}

	/**
	 * 注册用户
	 */
	@Override
	public String register(User user) {
		// TODO Auto-generated method stub
		return userDao.register(user);
	}

	/**
	 * 查所有
	 */
	@Override
	public List<User> list(User user) {
		// TODO Auto-generated method stub
		return userDao.list(user);
	}

  /**
	 * 树形菜单
	 */
	@Override
	public List<TreeNode> listNode() {
		// TODO Auto-generated method stub
		return userDao.listNode();
	}

}


Web层

UserAction

package com.tzp.user.web;

import java.util.List;

import com.opensymphony.xwork2.ModelDriven;
import com.tzp.base.web.BaseAction;
import com.tzp.user.biz.UserBiz;
import com.tzp.user.entity.TreeNode;
import com.tzp.user.entity.User;

public class UserAction extends BaseAction implements ModelDriven<User>{
	
	private User user=new User();
	private UserBiz userBiz;
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public UserBiz getUserBiz() {
		return userBiz;
	}

	public void setUserBiz(UserBiz userBiz) {
		this.userBiz = userBiz;
	}

	
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user;
	}
	
	/**
	 * 登陆
	 * @return
	 */
	public String Login() {
		User u=userBiz.login(user);
		System.out.println(u);
		if(u==null) {
			System.out.println("请输入用户名");
		}
		return null;
	}
	
	public String register() {
		String uu=userBiz.register(user);
		if(uu==null) {
			System.out.println("注册失败");
		}
		System.out.println(uu);
		return null;
	}
	
	/**
	 * 展示树形菜单
	 * @return
	 */
	public String ListNode() {
		List<TreeNode> listNode=userBiz.listNode();
		for (TreeNode treeNode : listNode) {
			System.out.println(treeNode);
		}
		return null;
	}
}

配置文件

spring-user.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
	
	
	<bean id="userDao" class="com.tzp.user.dao.UserDao"></bean>
	<bean id="userBiz" class="com.tzp.user.biz.impl.UserBizImpl">
		<property name="userDao" ref="userDao"></property>		
	</bean>
	
	<bean id="userAction" class="com.tzp.user.web.UserAction" parent="baseAction">
		<property name="userBiz" ref="userBiz"></property>
	</bean>
	 
</beans>

struts-user.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="user" extends="base" namespace="/user">
	<!-- class不是全路径名,而是spring管理的Bean的id  -->
		<action name="/user_*" class="userAction" method="{1}">
		</action>
	</package>
</struts>

文章的crud

entity

Articles

package com.tzp.articles.entity;

import com.tzp.base.entity.BaseEntity;

public class Articles extends BaseEntity {

	private static final long serialVersionUID = -6188029223617912462L;
	
	
	private int id;
	private String title;
	private String body;
	public int getId() {
		return id;
	}
	public void setId(int 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;
	}
	public Articles(int id, String title, String body) {
		super();
		this.id = id;
		this.title = title;
		this.body = body;
	}
	public Articles() {
		super();
	}
	@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.tzp.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>


Dao层

ArticlesDao

package com.tzp.articles.dao;

import java.io.Serializable;
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.tzp.articles.entity.Articles;
import com.tzp.base.dao.BaseDao;
import com.tzp.base.util.PageBean;
import com.tzp.base.util.StringUtils;

public class ArticlesDao extends BaseDao {

	private static final long serialVersionUID = 6720176337331636573L;
	
	
	public List<Articles> list(){
		
		return this.getHibernateTemplate().execute(new HibernateCallback<List<Articles>>() {

			@Override
			public List<Articles> doInHibernate(Session session) throws HibernateException {
				
				return session.createQuery("from Articles").list();
			}
		});
	}
	
	/**
	*
	*增加
	*/
	public int add(Articles articles) {
		
		Serializable a = this.getHibernateTemplate().save(articles);
		int n = 0;
		System.out.println("add增加过后的值:~~~~~~~~~~~~"+a);
		if(StringUtils.isNotBlank(a+"")) {
			n = 1;
		}
		return n;
	}
	
	/**
	*
	*修改
	*/
	public int edit(Articles articles) {
		
		this.getHibernateTemplate().update(articles);
		
		return 1;
	}
	
	/**
	*
	*删除
	*/
	public int delete(Articles articles) {
		
		this.getHibernateTemplate().delete(articles);
			
		return 1;
	}
	

}


Biz层

ArticleBiz(接口)

package com.tzp.articles.biz;

import java.util.List;

import com.tzp.articles.entity.Articles;

public interface ArticlesBiz {
	public List<Articles> list();
	public int add(Articles articles);
	public int edit(Articles articles);
	public int delete(Articles articles);

}



ArticlesBizImpl

package com.tzp.articles.biz.impl;

import java.util.List;

import com.tzp.articles.biz.ArticlesBiz;
import com.tzp.articles.dao.ArticlesDao;
import com.tzp.articles.entity.Articles;

public class ArticlesBizImpl implements ArticlesBiz {
	
	private ArticlesDao articlesDao ;
	
	
	
	public ArticlesDao getArticlesDao() {
		return articlesDao;
	}

	public void setArticlesDao(ArticlesDao articlesDao) {
		this.articlesDao = articlesDao;
	}

	@Override
	public List<Articles> list() {
		// TODO Auto-generated method stub
		return articlesDao.list();
	}

	@Override
	public int add(Articles articles) {
		// TODO Auto-generated method stub
		return articlesDao.add(articles);
	}

	@Override
	public int edit(Articles articles) {
		// TODO Auto-generated method stub
		return articlesDao.edit(articles);
	}

	@Override
	public int delete(Articles articles) {
		// TODO Auto-generated method stub
		return articlesDao.delete(articles);
	}
	

}

Web层

ArticlesAction

package com.tzp.articles.web;

import java.util.List;

import com.tzp.articles.biz.ArticlesBiz;
import com.tzp.articles.entity.Articles;
import com.tzp.base.web.BaseAction;
import com.opensymphony.xwork2.ModelDriven;

public class ArticlesAction extends BaseAction implements ModelDriven<Articles> {

	private static final long serialVersionUID = 5944659149847110488L;
	
	private Articles articles = new Articles();
	
	private ArticlesBiz articlesBiz ;
	

	public ArticlesBiz getArticlesBiz() {
		return articlesBiz;
	}


	public void setArticlesBiz(ArticlesBiz articlesBiz) {
		this.articlesBiz = articlesBiz;
	}

	
	public String list() {
		List<Articles> list = articlesBiz.list();
		for (Articles a : list) {
			System.out.println(a);
		}
		
		return null;
	}
	
	public String add() {
		articlesBiz.add(articles);
		
		return null;
	}
	public String edit() {
		articlesBiz.edit(articles);
		
	
		return null;
	}
	public String del() {
		articlesBiz.delete(articles);
	
		return null;
	}
	

	@Override
	public Articles getModel() {
		// TODO Auto-generated method stub
		return articles;
	}
	
	

}



配置文件
spring-article.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

	<bean id="articleDao" class="com.tzp.article.dao.ArticleDao" parent="baseDao"></bean>
	<bean id="articleBiz" class="com.tzp.article.biz.impl.ArticleBizImpl" parent="baseBiz">
		<property name="articleDao" ref="articleDao"></property>
	</bean>

	<bean id="articleAction" class="com.tzp.article.web.ArticleAction" parent="baseAction">
		<property name="articleBiz" ref="articleBiz"></property>
	</bean>
	
	
</beans>


struts-article.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="article" extends="base" namespace="/article">
	<!-- class不是全路径名,而是spring管理的Bean的id  -->
		<action name="/article_*" class="articleAction" method="{1}">
		</action>
	</package>
</struts>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值