본문 바로가기

프로그래밍/Java

Spring xml를 이용해서 뿌려주기

 

SpringJDBC.zip

 

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"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
<!-- DB 연결 설정작업  DriveManagerDataSource 클래스를 이용해
     db에 접근한다.  -->
    
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     <!-- JDBC 드라이버 클래스명을 설정한다.
          db마다 다르다 여기서는 오라클을 연결한다.
          oracle.jdbc.driver.OracleDriver
          -->
     <property name="driverClassName">
      <value>oracle.jdbc.driver.OracleDriver</value>
     </property>
    
     <!--JDBC 접속(연결) 문자열 설정 - 이것도 db마다 다르다 -->
     <property name="url">
      <value>jdbc:oracle:thin:@127.0.0.1:1521:XE</value>
     </property>
     <!--  jdbc:oracle:thin   - 접속방법
           127.0.0.1:1521  - db 서버 아이피, 포트번호
           오라클은 보통 1521번 포트를 사용하지만,
           아닐경우도 있어서 확인이 필요하다
          
           XE - 서비스명, 오라클 설치시 서비스명을 입력하게
           하는데 따로 지정을 안하면 익스프레스 버전은 xe,
           정식 버전은 orcl 로 설치되나 설치시 이름 변경할
           수도 있으므로 확인을 요함 -->

           
      <property name ="username">
       <value>hr</value>
      </property>
     
      <property name = "password">
       <value>1234</value>
      </property>
</bean>


<bean id="boardDao1" class="board.BoardDao">
 <property name ="dataSource" ref="dataSource"/>
</bean>
</beans>

 

 

BoardBean.java

 

package board;

 

public class BoardBean {
 int seq;
 String title;
 String contents;
 String writer;
 String wdate;
 String delyn;
 String userid;
 
 public int getSeq() {
  return seq;
 }
 public void setSeq(int seq) {
  this.seq = seq;
 }
 public String getTitle() {
  return title;
 }
 public void setTitle(String title) {
  this.title = title;
 }
 public String getContents() {
  return contents;
 }
 public void setContents(String contents) {
  this.contents = contents;
 }
 public String getWriter() {
  return writer;
 }
 public void setWriter(String writer) {
  this.writer = writer;
 }
 public String getWdate() {
  return wdate;
 }
 public void setWdate(String wdate) {
  this.wdate = wdate;
 }
 public String getDelyn() {
  return delyn;
 }
 public void setDelyn(String delyn) {
  this.delyn = delyn;
 }
 public String getUserid() {
  return userid;
 }
 public void setUserid(String userid) {
  this.userid = userid;
 }

 

IBoardDao.java

 

package board;

import java.util.List;

public interface IBoardDao {
 public int insertBoard(BoardBean board);
 public int updateBoard(BoardBean board, String sid);
 public int deleteBoard(String sid);
 public List viewBoardList();
 public BoardBean viewContents(String sid);

 

BoardDao.java

 

package board;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;


public class BoardDao implements IBoardDao{
 
 protected final Log logger = LogFactory.getLog(getClass());
 
 //DB 관련한 객체들 정의
 private JdbcTemplate jdbcTemplate;
 private DataSource dataSource;
 
 public void setDataSource(DataSource dataSource) {
  //applicationContext.xml의 ref="data"Source" 요문장쓰면
  //스프링 프레임워크가 이부분 호출함 - 객체 전달

  this.dataSource = dataSource;
  jdbcTemplate = new JdbcTemplate(dataSource);
 }

 public int insertBoard(BoardBean board) {
  // TODO Auto-generated method stub
  return 0;
 }

 @Override
 public int updateBoard(BoardBean board, String sid) {
  // TODO Auto-generated method stub
  return 0;
 }

 @Override
 public int deleteBoard(String sid) {
  // TODO Auto-generated method stub
  return 0;
 }

 

/* Select List 뿌려주는곳 */

 @Override
 public List viewBoardList() {
  StringBuilder sql = new StringBuilder();
  sql.append("select seq, title, contents,");
  sql.append("to_char(wdate,'yyyy-MM-dd') wdate, ");
  sql.append("userid as writer from board order by seq desc");
  System.out.println(sql.toString());


  List boardList = new ArrayList();
  boardList = this.jdbcTemplate.query(sql.toString(), new RowMapper() {

   @Override
   public Object mapRow(ResultSet rs, int arg1) throws SQLException {
    BoardBean bean = new BoardBean();
    bean.setSeq(rs.getInt("seq"));
    bean.setTitle(rs.getString("title"));
    bean.setContents(rs.getString("contents"));
    bean.setWdate(rs.getString("wdate"));
    bean.setWriter(rs.getString("writer"));
    return bean;
   }
  });
  return boardList;
 }

 

 @Override
 public BoardBean viewContents(String sid) {
  // TODO Auto-generated method stub
  return null;
 }

}

 

SpirngJDBC.java

 

import java.util.ArrayList;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

import board.BoardBean;
import board.BoardDao;


public class SpringJDBC {
 public static void main(String[] args) {
  BeanFactory factory = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));
  
  BoardDao dao = factory.getBean("boardDao1",BoardDao.class);
  
  ArrayList list = (ArrayList)dao.viewBoardList();
  for(int i = 0; i < list.size(); i++){
    BoardBean bean = (BoardBean) list.get(i);
    System.out.println(bean.getTitle());
  }
 }

 

 

 

 

 

 

 

 

 

 

'프로그래밍 > Java' 카테고리의 다른 글