springJDBC

  1. 看代码结构

    springJDBC_第1张图片

  2. public interface UserService {
    	public void register(User user);
    	public void update(User user);
    	public User findById(int id);
    }
  3. public class UserServiceImpl implements UserService {
    	
    	//@Resource(name="jdbcUserDao")
    	private UserDAO userDao;
    	
    	public void setUserDao(UserDAO userDao){
    		this.userDao = userDao;
    	}
    	@Override
    	public void register(User user) {
    		System.out.println("Service##用户注册处理");
    		userDao.save(user);
    	}
    
    	@Override
    	public void update(User user) {
    		System.out.println("Service##用户修改个人信息处理");
    		userDao.update(user);
    	}
    	@Override
    	public User findById(int id) {
    		return userDao.findById(id);
    		
    	}
    
    }
  4. public interface UserDAO {
    	public void save(User user);
    	public void update(User user);
    	public void deleteById(int id);
    	public User findById(int id);
    }
  5. public class JDBCUserDAO 
    		extends JdbcDaoSupport  implements UserDAO {
    
    	@Override
    	public void save(User user) {
    		System.out.println("DAO##采用JDBC技术保存用户信息!");
    		String sql = "insert into d_user " +
    				"(email,nickname,password," +
    				"user_integral,is_email_verify," +
    				"email_verify_code,last_login_time,last_login_ip) " +
    				"values (?,?,?,?,?,?,?,?)";
    		this.getJdbcTemplate().update(sql, new Object[]{
    				user.getEmail(),
    				user.getNickname(),
    				user.getPassword(),
    				user.getUserIntegral(),
    				user.isEmailVerify()?"Y":"N",
    				user.getEmailVerifyCode(),
    				user.getLastLoginTime(),
    				user.getLastLoginIp()
    		});
    	}
    
    	@Override
    	public void update(User user) {
    		System.out.println("DAO##采用JDBC技术更新用户信息!");
    	}
    
    	@Override
    	public void deleteById(int id) {
    		String sql = "delete from d_user where id=?";
    		this.getJdbcTemplate()
    		.update(sql,new Object[]{id});
    	}
    
    	@Override
    	public User findById(int id) {
    		String sql="select * from d_user where id = ?";
    		User user = (User)this.getJdbcTemplate().queryForObject(sql, new Object[]{id}, new UserMapper());
    		return user;
    	}
    
    }
  6. public class User implements java.io.Serializable {
    	private Integer id;
    	private String email = "";
    	private String nickname = "";
    	private String password = "";
    	private Integer userIntegral = 0;
    	private boolean emailVerify = false;
    	private String emailVerifyCode = "";
    	private long lastLoginTime = 0L;
    	private String lastLoginIp = "";
    	
    	public User() {}
    	
    	public User(String email, String password,
    			Integer userIntegral) {
    			this.email = email;
    			this.password = password;
    			this.userIntegral = userIntegral;
    			}
    	
    	public boolean isEmailVerify() {
    		return emailVerify;}
    		public void setEmailVerify(boolean emailVerify) {
    		this.emailVerify = emailVerify;}
    		public Integer getId() {
    		return this.id;}
    		public void setId(Integer id) {
    		this.id = id;}
    		public String getEmail() {
    		return this.email;}
    		public void setEmail(String email) {
    		this.email = email;}
    		public String getNickname() {
    		return this.nickname;}
    		public void setNickname(String nickname) {
    		this.nickname = nickname;}
    		public String getPassword() {
    		return this.password;}
    		public void setPassword(String password) {
    		this.password = password;}
    		public Integer getUserIntegral() {
    		return this.userIntegral;}
    		public void setUserIntegral(Integer userIntegral) {
    		this.userIntegral = userIntegral;}
    		public String getEmailVerifyCode() {
    		return this.emailVerifyCode;}
    		public void setEmailVerifyCode(String emailVerifyCode) {
    		this.emailVerifyCode = emailVerifyCode;}
    		public long getLastLoginTime() {
    		return this.lastLoginTime;}
    		public void setLastLoginTime(long lastLoginTime) {
    		this.lastLoginTime = lastLoginTime;}
    		public String getLastLoginIp() {
    		return this.lastLoginIp;}
    		public void setLastLoginIp(String lastLoginIp) {
    		this.lastLoginIp = lastLoginIp;}
    		
    }
  7. public class UserMapper implements RowMapper {
    
    	@Override
    	public Object mapRow(ResultSet rs, int index) throws SQLException {
    		User user = new User();
    		user.setId(rs.getInt("id"));
    		user.setEmail(rs.getString("email"));
    		user.setNickname(rs.getString("nickname"));
    		if(rs.getString("is_email_verify").equals("Y")){
    		user.setEmailVerify(true);
    		}else{
    		user.setEmailVerify(false);
    		}
    		user.setEmailVerifyCode(
    		rs.getString("email_verify_code"));
    		user.setLastLoginTime(
    		rs.getLong("last_login_time"));
    		return user;
    	}
    
    }
  8. public class TestUserDao {
    
    	public static void main(String[] args) {
    //		User user = new User();
    //		user.setEmail("[email protected]");
    //		user.setNickname("jdbc");
    //		user.setPassword("1111");
    //		user.setUserIntegral(10);
    //		user.setEmailVerify(false);
    //		user.setEmailVerifyCode("asdfasdew");
    //		user.setLastLoginTime(System.currentTimeMillis());
    //		user.setLastLoginIp("192.168.2.1");
    		ApplicationContext ac = new ClassPathXmlApplicationContext("schema.xml");
    		UserDAO userdao = (UserDAO) ac.getBean("jdbcUserDao");
    //		userdao.save(user);
    		User user = userdao.findById(5);
    		System.out.println(JSONObject.toJSON(user));
    	}
    
    }
  9. <?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:context="http://www.springframework.org/schema/context"
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:aop="http://www.springframework.org/schema/aop"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    	http://www.springframework.org/schema/context
    	http://www.springframework.org/schema/context/spring-context-3.2.xsd
    	http://www.springframework.org/schema/tx
    	http://www.springframework.org/schema/spring-tx-3.2.xsd
    	http://www.springframework.org/schema/aop
    	http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
    	
    	 
    	<bean id="userService" class="mychebao.service.UserServiceImpl">
    		<property name="userDao" ref="jdbcUserDao"></property>
    	</bean>
    	
    	<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
    		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    		<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
    		<property name="username" value="root"></property>
    		<property name="password" value="toor"></property>
    		<property name="maxActive" value="10"></property>
    		<property name="initialSize" value="2"></property>
    		<property name="minIdle" value="2"></property>
    		<property name="maxIdle" value="3"></property>
    	</bean>
    	
    	<bean id="jdbcUserDao" class="mychebao.dao.JDBCUserDAO">
    		<property name="dataSource" ref="dataSource"></property>	
    	</bean>
    	
    	<bean id="optLogger" class="mychebao.aop.OptLogger"></bean>
    	
    
    	<!-- <context:component-scan base-package="mychebao"></context:component-scan>-->
    	<aop:config>
    		<aop:pointcut expression="within(mychebao.service..*)" 
    			id="servicePointcut"/>
    		<aop:aspect id="optLoggerAspect" ref="optLogger">
    			<aop:around method="logger" pointcut-ref="servicePointcut"/>
    		</aop:aspect>
    	</aop:config>
    
    </beans>

你可能感兴趣的:(springJDBC)