alibaba 연결 탱크druid 사용 사례

6113 단어
구성 파일의 소스 코드

	
	
	
		
		
		
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	

Dao 코드
public interface UserDao {
	/**
	 *         
	 * @return
	 */
	List findAll();
	/**
	 *     ID      
	 */
	Userinfo getUserinfoByID(Integer userID);
	/**
	 *       
	 * @param user
	 * @return
	 */
	Integer add(Userinfo user);
	/**
	 *       
	 * @param user
	 * @return
	 */
	Integer update(Userinfo user);
	/**
	 *   ID    
	 * @param userinfoID
	 * @return
	 */
	Integer delete(Integer userinfoID);
}

DaoImpl 클래스 코드
public class UserDaoImpl implements UserDao {
	private JdbcTemplate jdbcTemplate;

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}
	
	public List findAll() {
		String sql="select * from userinfo";
		List list = jdbcTemplate.query(sql, new MyRowMapper());
		return list;
	}
	
	public Userinfo getUserinfoByID(Integer userID) {
	
		String sql = "select * from userinfo where userID = ?";
		Userinfo user = jdbcTemplate.queryForObject(sql, new MyRowMapper(), userID);
		return user;
	}
	
	public Integer add(Userinfo user) {
		// TODO Auto-generated method stub
		String sql = "insert into userinfo(userName,userPwd) values(?,?)";
		int i = jdbcTemplate.update(sql, user.getUserName(),user.getUserPwd());
		return i;
	}
	public Integer update(Userinfo user) {

		String sql = "update userinfo set userName = ? ,userPwd = ? where userID = ?";
		int i = jdbcTemplate.update(sql, user.getUserName(),user.getUserPwd(),user.getUserID());
		return i;
	}
	
	public Integer delete(Integer userID) {
		
		String sql = "delete from userinfo where userID = ?";
		int i = jdbcTemplate.update(sql, userID);
		return i;
	}

}


class MyRowMapper implements RowMapper{

	public Userinfo mapRow(ResultSet rs, int arg1) throws SQLException {
		// TODO Auto-generated method stub
		Userinfo user = new Userinfo();
		user.setUserID(rs.getInt("userID"));
		user.setUserName(rs.getString("userName"));
		user.setUserPwd(rs.getString("userPwd"));
		return user;
	}
	
}

서비스 코드
public interface UserService {
	/**
	 *         
	 * @return
	 */
	List findAll();
	/**
	 *     ID      
	 */
	Userinfo getUserinfoByID(Integer userID);
	/**
	 *       
	 * @param user
	 * @return
	 */
	Integer add(Userinfo user);
	/**
	 *       
	 * @param user
	 * @return
	 */
	Integer update(Userinfo user);
	/**
	 *   ID    
	 * @param userinfoID
	 * @return
	 */
	Integer delete(Integer userinfoID);
}

ServiceImpl 코드
public class UserServiceImpl implements UserService {
	private UserDao userDao;

	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	public List findAll() {
		// TODO Auto-generated method stub
		return userDao.findAll();
	}

	/* (non-Javadoc)
	 * @see com.zhang.service.UserService#getUserinfoByID(java.lang.Integer)
	 */
	public Userinfo getUserinfoByID(Integer userID) {
		// TODO Auto-generated method stub
		return userDao.getUserinfoByID(userID);
	}

	/* (non-Javadoc)
	 * @see com.zhang.service.UserService#add(com.zhang.entity.Userinfo)
	 */
	public Integer add(Userinfo user) {
		// TODO Auto-generated method stub
		return userDao.add(user);
	}

	/* (non-Javadoc)
	 * @see com.zhang.service.UserService#update(com.zhang.entity.Userinfo)
	 */
	public Integer update(Userinfo user) {
		// TODO Auto-generated method stub
		return userDao.update(user);
	}

	/* (non-Javadoc)
	 * @see com.zhang.service.UserService#delete(java.lang.Integer)
	 */
	public Integer delete(Integer userinfoID) {
		// TODO Auto-generated method stub
		return userDao.delete(userinfoID);
	}

}

테스트 클래스 코드
public class TestUser {
	
	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = ac.getBean("userService", UserService.class);
		Userinfo user = new Userinfo();
		user.setUserName("zhangsan");
		user.setUserPwd("123");
		user.setUserID(2);
//		Integer add = userService.add(user);
//		System.out.println(add);
//		Integer d = userService.delete(1);
//		System.out.println(d);
//		Integer ii = userService.update(user);
//		System.out.println(ii);
		List list = userService.findAll();
		for(Userinfo u : list){
			System.out.println(u);
		}
	}

}

단지 연결 탱크를 사용하는 것을 배워야만 연결 탱크가 데이터베이스에 접근하는 양이 많은 상황에서만 그 장점을 나타낼 수 있다.
또 다른 중점은 스프링의 IOC(반전 제어)와 DI(의존 주입)의 연습 사용이다. IOC의 본질은 원래 대상의 생명주기의 제어권을 호출자로부터 스프링 용기로 옮기는 것이다. 그것이 실현하는 방식은 DI(의존 주입)에 의존하는 것이다.
원래

좋은 웹페이지 즐겨찾기