接下來開始實現功能
操作步驟:
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;
}
}