IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

JBOSS JNDI 설정 -use sqlmap

Programming/JAVA 2009. 1. 28. 13:29
반응형


o. JNDI 없이 사용할 경우

dbs.properties
    C:\jboss5\server\default\deploy\ROOT.war\WEB-INF\dbs.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/pg
user=ID
pword=PASSWORD


---------------------------------
SqlMapConfigS.xml
    C:\jboss5\server\default\deploy\ROOT.war\WEB-INF\SqlMapConfigS.xml

<properties resource="dbs.properties"/>

<transactionManager type="JDBC" commitRequired="false">
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="${driver}"/>
      <property name="JDBC.ConnectionURL" value="${url}"/>
      <property name="JDBC.Username" value="${user}"/>
      <property name="JDBC.Password" value="${pword}"/>
      <!-- optional properties below -->
      <property name="Pool.MaximumActiveConnectinos" value="100"/>
      <property name="Pool.MaximumIdleConnections" value="50"/>
      <property name="Pool.MaximumCheckoutTime" value="120000"/>
      <property name="Pool.TimeToWait" value="10000"/>
      <property name="Pool.PingQuery" value="select * from ibatis_pool_ping_check"/>
      <property name="Pool.PingConnectionsOlderThan" value="0"/>
      <property name="Pool.PingConnectionsNotUsedFor" value="0"/>
    </dataSource>
  </transactionManager>
--------------------------------------
Test.xml( sqlmap) ,Test.java  그대로 사용.


1. JNDI 추가
     C:\jboss5\docs\examples\jca  폴더에서 DB에 해당되는 설정 파일을
     C:\jboss5\server\default\deploy (서비스 ROOT)폴더에 복사한다.   
     본인은Mysql을 사용하므로 mysql-ds.xml 파일을 복사하였다.



2. 복사한 파일을 열고, JNDI를 추가한다.(encoding설정을 진행함)            
mysql-ds.xml

<local-tx-datasource>
    <jndi-name>JNDI명</jndi-name>
    <connection-url>jdbc:mysql://127.0.0.1:3306/pg?useUnicode=true&amp;characterEncoding=EUC_KR</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>ID</user-name>
    <password>PASS</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>



3. jboss-web.xml
     C:\jboss5\server\default\deploy\ROOT.war\WEB-INF\jboss-web.xml
jboss-web.xml

<jboss-web>
  <resource-ref>
    <res-ref-name>jdbc/JNDI명</res-ref-name>
    <jndi-name>java:/JNDI명</jndi-name>
  </resource-ref>
</jboss-web>



4. web.xml
 
     C:\jboss5\server\default\deploy\ROOT.war\WEB-INF\web.xml
web.xml

<web-app>
  <display-name>Welcome to JBoss</display-name>
  <description>
     Welcome to JBoss
  </description>
  <servlet>
    <servlet-name>Status Servlet</servlet-name>
    <servlet-class>org.jboss.web.tomcat.service.StatusServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Status Servlet</servlet-name>
    <url-pattern>/status</url-pattern>
  </servlet-mapping>
  <resource-ref>
    <description>리소스설명</description>
    <res-ref-name>jdbc/JNDI명</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
</web-app>


    

5. sqlMap 설정 파일 추가
     
C:\jboss5\server\default\deploy\ROOT.war\WEB-INF\SqlMapConfigDS.xml
SqlMapConfigDS.xml

<sqlMapConfig>
  <settings useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   lazyLoadingEnabled="true"
   maxRequests="512"
   maxSessions="128"
   maxTransactions="32"/>
  <transactionManager type="JDBC" commitRequired="true">
    <dataSource type="JNDI">
      <property name="DBJndiContext" value="java:comp/env/jdbc/JNDI명"/>
    </dataSource>
  </transactionManager>
  <sqlMap resource="Test.xml"/>
</sqlMapConfig>


6. Test.xml
Test.xml

<sqlMap namespace="sqlmap명">
  <select id="sqlQuery명" resultClass="hashmap">
    <![CDATA[
      select no, dt, col1 from aa
    ]]>
  </select>
</sqlMap>


7. Test.java
Test.java

package service;
import java.io.*;
import java.util.*;
import java.sql.*;
import com.ibatis.common.resources.*;
import com.ibatis.sqlmap.client.*;
public class Test{
 public Test() {};
 public Iterator getTest() throws SQLException, Exception {
  Reader reader = Resources.getResourceAsReader("SqlMapConfigDS.xml");
  SqlMapClient client = SqlMapClientBuilder.buildSqlMapClient(reader);
  List someList = client.queryForList("sqlQuery명");  
  return someList.iterator(); 
 }
}





8. test.jsp
test.jsp

<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page import="java.io.*, java.util.* " %>
<%@ page import = "service.Test" %>
<%
  Test htest = new Test();
   Iterator<HashMap> iter = htest.getTest();
%>
<html>
<head><title></title></head>
<body>
<h1>TEST</h1><br>
<%= new java.util.Date() %><br><br>
<%
 while(iter.hasNext()) {
  HashMap data = iter.next();
%>
 <br><%= data.get("no")%>,<%= data.get("dt")%>,<%= data.get("col1")%>
<%
 }
%>
</body>
</html>


반응형
저작자표시 비영리 변경금지 (새창열림)
Posted by Edward. K
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • eclipse plugin
  • Flash Player
  • sqlgate
  • EkNote
  • EditPlus
  • toad
  • egov
  • flex
  • 사업 이야기
  • 캡쳐툴
  • STS
  • 색상코드표
  • 가상화폐무료
  • iBATIS
  • Jboss
  • 중독성게임
  • netbeans
  • ERwin
  • 이클립스
  • Graphic
  • rocketdock
  • 전자정부프레임워크
  • 플래시 게임
  • 미네르바
  • android
  • tomcat
  • 개한민국
  • 컴퓨터 관리
  • Eclipse
  • 이미지 편집

글 보관함

«   2026/01   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

분류 전체보기 (792)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (39)
UML (9)
Programming (154)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (2)
Utility (76)
Protable (3)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (82)
mongoDB (0)
MySQL (8)
Oracle (61)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (73)
작가의기막힌상상력 (14)
미소를찾아보는공간 (44)
내심장은작동중일까 (6)
멀더와스컬리의노트 (3)
이건어디에사용할까 (6)
Edward (275)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (123)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (792)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (39)
    • UML (9)
    • Programming (154)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (2)
    • Utility (76)
      • Protable (3)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (82)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (61)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (73)
      • 작가의기막힌상상력 (14)
      • 미소를찾아보는공간 (44)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (3)
      • 이건어디에사용할까 (6)
    • Edward (275)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (123)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바