继续上一篇剩下的例子

创建数据表user_info

create table 'user_info'(

    user_id int(11) NOT NULL AUTO_INCREMENT, 

  user_name varchar(20) NOT NULL,

  user_sex varchar(20) NOT NULL,

    PRIMARY KEY (`user_id`) 

写一个实体类UserInfo.java

package hover.chen.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="user_info")
public class UserInfo {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="user_id")
	private int userId;
	
	@Column(name="user_name")
	private String userName;
	
	@Column(name="user_sex")
	private String userSex;

	public int getUserId() {
		return userId;
	}

	public void setUserId(int userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserSex() {
		return userSex;
	}

	public void setUserSex(String userSex) {
		this.userSex = userSex;
	}
	
	
}

写一个 IUserDAO.java 接口

package hover.chen.dao;

import hover.chen.entity.UserInfo;

public interface IUserDAO {
	public int addUser(UserInfo user);
}

UserDAOImpl 实现 IUserDAO.java 

package hover.chen.dao;

import hover.chen.entity.UserInfo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;

//通过注解告诉spring这是DAO层
@Repository
public class UserDAOImpl implements IUserDAO{
	//告诉spring容器自动将hibernateTemplate注入到DAO层
	@Autowired
	private HibernateTemplate hibernateTemplate;
	
	public int addUser(UserInfo user){
		String result = this.hibernateTemplate.save(user).toString();
		if(result != null){
			return Integer.parseInt(result);
		}
		return 0;
	}
	
}

写一个 IUserService 接口

package hover.chen.service;

import hover.chen.entity.UserInfo;

public interface IUserService {
	public boolean addUser(UserInfo user);
}

UserServiceImpl 实现 IUserService

package hover.chen.service;

import hover.chen.dao.IUserDAO;
import hover.chen.entity.UserInfo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
//告诉spring这是service层
@Service
public class UserServiceImpl implements IUserService{
	//告诉spring容器自动将userDAO注入到Service层
	@Autowired
	private IUserDAO userDAO;
	
	public boolean addUser(UserInfo user){
		return this.userDAO.addUser(user) > 0 ? true : false;
	}
}

写一个Controller

package hover.chen.controller;

import hover.chen.entity.UserInfo;
import hover.chen.service.IUserService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

//告诉spring这是controller
@Controller
//此类处理的是以/user路径的url请求
@RequestMapping
public class UserController {

	
	@Autowired
	private IUserService userService;
	
	//处代表的是整个方法处理addUser的post请求
	@RequestMapping(value="/addUser",method=RequestMethod.POST)
	//处代表的是请求参数,其中value必须与页面元素的name值匹配,required=true则代表该参数必须要有
	//return 是指跳转至相应的路径,在这里是指跳转至views/success.jsp或者views/fail.jsp
	public String addUserAction(@RequestParam(value="userName",required=true)String userName,
				@RequestParam(value="userSex",required=true)String userSex){
		
		UserInfo user = new UserInfo();
		user.setUserName(userName);
		user.setUserSex(userSex);
		return this.userService.addUser(user) == true ? "success" : "fail";
		
	}
	
}


接下来是使视图层

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>index</title>
</head>
<body>
	<form action="addUser" method="post">
		<table align="center">
			<tr>
				<td>用户名:</td>
				<td><input type="text" name="userName" /></td>
			</tr>
			<tr>
				<td>性别:</td>
				<td>
					<input type="radio" name="userSex" checked="checked" value="男" />
					男&nbsp;&nbsp;<input type="radio" name="userSex" value="女" /> 女
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="submit" value="注册">
				</td>
			</tr>
		</table>
	</form>

</body>
</html>

在 WEB-INF 下新建 views 文件夹,还记得上一篇在 mvc-context.xml 下配置

<!-- 代表返回视图进行解析:前缀为prefix 后缀为suffix -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="WEB-INF/views/" />
		<property name="suffix" value=".jsp" />
	</bean>

这里指定了视图的访问地址前缀。

在 views 下创建 success.jsp 和 fail.jsp

到这里所有都做完了,现在执行 clean   install    jetty:run

右键项目 run》》configure                 双击 Maven Build 新建 configure 

继续上一篇剩下的例子_第1张图片

点击Apply ,点击run    

OK,就到这里。。。

如果遇到什么问题可以在评论里提出谢谢,我看到了如果会的话,会尽力回答!

你可能感兴趣的:(继续上一篇剩下的例子)