2013-07-11 1 views
1

내 관리 대상 Bean에서 mySql 데이터베이스에 액세스해야합니다. 데이터베이스 정보를 JSF2에 저장할 수있는 방법

Class.forName("com.mysql.jdbc.Driver"); 
    String url = "jdbc:mysql://localhost:3306/test"; 
    String username = "user"; 
    String password = "1234"; 
    Connection connection = null; 
    try { 
     connection = DriverManager.getConnection(url, username, password); 

이 지금은 하나 이상의 빈에서이 작업을 수행해야합니다, 그래서 난 데이터베이스 자격 증명을 변경해야하는 경우, 내가 좋아하는 10 개 파일을 주변에 바이올린이 있습니다 지금까지 나는 다음과 같은 코드를 사용했다.

  1. 사전에 전체 웹 프로젝트

감사합니다 몇 가지 변수를 정의

  • 방법을 databaseconnection를 저장하는 방법이

  • +0

    에 대한

    관련 튜토리얼

    읽기 BalusC 튜토리얼이 단지 학습/취미인가? 그렇지 않으면 JPA를 더 잘 찾습니다. – BalusC

    답변

    0

    그것은 일반적으로 좋은 존재인가 이러한 종류의 값을 .properties 파일에 저장하는 아이디어. http://www.mkyong.com/java/java-properties-file-examples/

    (: http://en.wikipedia.org/wiki/.properties을 추가 정보 :) 그들은 다음 java.util.Properties (http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html)

    다음

    이러한 파일과 그 값에 액세스하는 방법을 설명하는 좋은 튜토리얼, 난 당신이 함께 시작하는 것이 좋습니다입니다 통해 액세스 할 수 있습니다

    내 IDE에서는 대개 새 소스 패키지/src/main/config를 만들고 여기에 .properties 및 .xml 파일과 관련된 모든 구성을 저장합니다. 모두의 How to get properties file from /WEB-INF folder in JSF?

    2

    먼저이의 기본 구조를 이해해야합니다

    String configFilePath = "configuration.properties"; 
    
    props = new Properties(); 
    
    InputStream propInStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFilePath); 
    
    props.load(propInStream); 
    

    또는 당신은 단순히이 작업을 수행 할 수 있습니다 : 당신이 이런 식으로하는 경우에, 당신은 당신의 JSF 응용 프로그램 내에서 이런 식으로 접근 할 필요가 Java EE 프로젝트. 관리 Bean의 데이터베이스를 연결하는 것은 좋지 않습니다. 정말 나쁜 습관입니다. 기본 아키텍처를 이해하려면 내 previous answer을 보시기 바랍니다.

    데이터베이스 연결은 통합 계층에서 수행되며 이러한 클래스를 DAO (Data Access Objects)라고합니다.

    정적 연결 속성에 대한 BaseDao 클래스를 만듭니다. 데이터베이스 연결이 필요하고 BaseDao#getConnection()를 사용하여 액세스 접속되어 파생 클래스

    class BaseDao 
    { 
        private String url = "jdbc:mysql://localhost:3306/test"; 
        private String username = "user"; 
        private String password = "1234"; 
        private Connection connection; 
    
        protected Connection getConnection() 
        {  
          connection = DriverManager.getConnection(url, username, password);  
          return connection; 
        } 
    } 
    

    베이스 클래스를 확장한다.

    또한 데이터베이스 연결을 특성 파일에 유지하고 적절한 클래스에 주입하는 것이 좋습니다. 이해 DAO tutorial - the data layer

    관련 문제