【SSH學習筆記】整合spring3-struts2的小項目(二)

接下來開始實現功能

 

操作步驟:

1、創建用戶表並添加測試數據

create table users(

  userid number(8) primary key,

  username nvarchar2(10),

  password nvarchar2(10),

  birthday date,

  flag number(8)

);
insert into users values(1,'zhangsan','123',to_date('1992-1-1','yyyy-MM-dd'),0);

insert into users values(2,'lisi','123',to_date('1992-1-1','yyyy-MM-dd'),0);



2、創建用戶實體類

import java.util.Date;
public class User {
	
	private int userid;
	private String username;
	private String password;
	private Date birthday;
	private int flag;
	
	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 getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public int getFlag() {
		return flag;
	}
	public void setFlag(int flag) {
		this.flag = flag;
	}
	public User() {
		super();
	}
	public User(int userid, String username, String password, Date birthday,
			int flag) {
		super();
		this.userid = userid;
		this.username = username;
		this.password = password;
		this.birthday = birthday;
		this.flag = flag;
	}

}


 

3、導入Spring3所需JAR包,創建applicationContext.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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
						http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<context:component-scan base-package="com.wyd"/>

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName">
			<value>oracle.jdbc.driver.OracleDriver</value>
		</property>
		<property name="url">
			<value>jdbc:oracle:thin:@localhost:1521:adminwyd</value>
		</property>
		<property name="username">
			<value>scott</value>
		</property>
		<property name="password">
			<value>tiger</value>
		</property>
	</bean>
</beans>


 

4、創建IUserDao接口及其實現類

import java.util.List;
public interface IUserDao {
	
	List<User> findAll();
	
	User isUser(String username);

	int add(User user);
	
	int del(int userid);
	
	int update(User user);
	
	User getUserById(int userid);
	
}
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

@Repository("userDao")
public class UserDao implements IUserDao {

	private JdbcTemplate jdbcTemplate;

	@Resource
	public void setDataSource(DataSource dataSource) {
		this.jdbcTemplate = new JdbcTemplate(dataSource);
	}

	public List<User> findAll() {
		List<User> list = (List<User>) this.jdbcTemplate.query("select userid,username,password,birthday,flag from users where flag=0",new RowMapper<User>() {

			public User mapRow(ResultSet rs, int rowNum)throws SQLException {								User user = new User();
				user.setUserid(rs.getInt("userid"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setBirthday(rs.getDate("birthday"));
				user.setFlag(rs.getInt("flag"));
				return user;
			}
		});
		return list;
	}

	public User isUser(String username) {
		User user01;
		try {
			user01 = (User)this.jdbcTemplate.queryForObject("select username,password from users where flag=0 and username = ?", new Object[] { username }, new RowMapper<User>(){

				public User mapRow(ResultSet rs, int rowNum) throws SQLException {
					User user = new User();
					user.setUsername(rs.getString("username"));
					user.setPassword(rs.getString("password"));
					return user;
				}
			});
		} catch (DataAccessException e) {
			user01 = null;
		}
		return user01;
	}

	public int add(User user) {
		int count = this.jdbcTemplate.update(
				"insert into users values(?,?,?,?,?)", user.getUserid(), user
						.getUsername(), user.getPassword(), user.getBirthday(),
				user.getFlag());
		return count;
	}

	public int del(int userid) {
		int count = this.jdbcTemplate.update(
				"update users set flag=1 where userid=?", userid);
		return count;
	}

	public int update(User user) {
		int count = this.jdbcTemplate.update("update users set username=?,password=?,birthday=?,flag=0 where userid=?",user.getUsername(), user.getPassword(), user.getBirthday(), user.getUserid());
		return count;
	}

	public User getUserById(int userid) {
		final User user = new User();
		this.jdbcTemplate.queryForObject("select * from users where userid=?", new Object[]{userid}, new RowMapper<User>(){
			public User mapRow(ResultSet rs, int rowNum) throws SQLException {
				user.setUserid(rs.getInt("userid"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setBirthday(rs.getDate("birthday"));
				user.setFlag(rs.getInt("flag"));
				return user;
			}
		});
		return user;
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章