DbUtils�Ō��ʃZ�b�g��JavaBeans�Ƀ}�b�s���O�����FJavaTips �`Java�v���O���~���O��

» 2004�N11��17�� 10��00�� ���J
[BULL�C��IT]

��{�I�ȃf�[�^�x�[�X�A�N�Z�X���@�̖��

�@Java�����ʓI�ȃ����[�V���i���f�[�^�x�[�X�i�ȉ��A�f�[�^�x�[�X�ƌď́j�ɃA�N�Z�X����ɂ́A�ȉ��Ɏ����悤��java.sql�p�b�P�[�W��Connection�AStatement�AResultSet���g���̂���{�ł��B

InitialContext init = new InitialContext( );
DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/TestDB");
Connection con = ds.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from items;");
�c�c// rs���猋�ʂ��擾
rs.close(); // �I������
st.close(); // �I������
con.close();// �I������
init.close();// �I������


�@���̊�{�I�ȕ��@�ł́A�ȉ��̂悤�Ȗ�肪����܂��B

  • ���\�[�X���[�N��h�����߁A���񌈂܂肫�����I�������R�[�h���L�q���Ȃ���΂Ȃ�Ȃ�
  • ��O�������ɂ��I�������R�[�h���K�����s�����悤�ɍl�����Ȃ��Ƃ����Ȃ�

�@���̂悤�ɁA�]���̕��@�ł̓R�[�h�̋L�q�ʂ������A�L�q���@�ɂ��C���g��Ȃ���΂����܂���ł����B���̖��́AJakarta DbUtils���g�����Ƃʼn����ł��܂��B

DbUtils�̊T�v

�@DbUtils��Jakarta Commons�v���W�F�N�g�̎Y���ł���AJava����f�[�^�x�[�X�ɃA�N�Z�X���邽�߂̃c�[���ł��BDbUtils�̓f�[�^�x�[�X�A�N�Z�X�̊�{�I��API�ł���Connection�AStatement�AResultSet���g�p���邱�Ƃɂ��R�[�h�L�q�̔ώG�����ɘa���A�������ɓ��삷�邱�Ƃ�ړI�Ƃ��ĊJ������܂����BDbUtils�͂�����{�I��API�̑���Ƃ��Ďg�p���܂��B

�@DbUtils�̎g�����̊�{�͈ȉ��̂Ƃ���ł��BQueryRunner#query�̖߂�l���f�[�^�x�[�X�����̌��ʂɂȂ�܂����AQueryRunner#query�̑�2�����Ƃ��ēn��ResultSetHandler�̓��e�ɂ��AQueryRunner#query�̖߂�l�̌^���ω����܂��B

import org.apache.commons.dbutils.QueryRunner;
importorg.apache.commons.dbutils.ResultSetHandler;
//����
DataSource ds = �c�c //JNDI����p���Ď擾
QueryRunner qr = new QueryRunner(ds);
ResultSetHandler rsh = �c�c //ResultSetHandler�̌p���N���X�̃C���X�^���X
�߂�l�̌^ result = (�߂�l�̌^)qr.query("SELECT ...", rsh);


�@DbUtils�̃_�E�����[�h��http://jakarta.apache.org/commons/dbutils/downloads.html����ł��܂��B���M���_�̍ŐV�ł̓o�[�W����1.0�ł��B�_�E�����[�h����zip�t�@�C����W�J���ďo�Ă���commons-dbutils-1.0.jar���N���X�p�X�ɒʂ����Ƃ�java�R�[�h����g�p�”\�ɂȂ�܂��B

DbUtils�Ō��ʃZ�b�g��JavaBeans�Ƀ}�b�s���O����

�@DbUtils�ł́AQueryRunner#query�̑�2�����Ƃ��āAorg.apache.commons.dbutils.handlers�p�b�P�[�W��BeanHandler�܂���BeanListHandler�̃C���X�^���X��n�����ƂŁA�f�[�^�x�[�X�������������ʃZ�b�g�������I��JavaBeans�Ƀ}�b�s���O���邱�Ƃ��ł��܂��B����𗘗p����Ƃ���ɃR�[�h�̋L�q�ʂ��팸���邱�Ƃ��ł��܂��BBeanHandler��BeanListHandler�̈Ⴂ�͈ȉ��̂Ƃ���ł��B

BeanHandler��BeanListHandler�̈Ⴂ
DbUtils�̃N���X �@�\ QueryRunner#query �̖߂�l�̌^
BeanHandler �ŏ��̃��R�[�h�̃f�[�^���A�R���X�g���N�^�̈����ɓn����JavaBeans�N���X�̃C���X�^���X�Ɋi�[���擾���� �R���X�g���N�^�̈����ɓn����JavaBeans�N���X
BeanListHandler BeansHandler�̑S���R�[�h�Ή��ŁB�S���R�[�h�ɂ‚���BeanHandler��K�p���A����ꂽ�SJavaBeans�C���X�^���X��List�Ƃ��Ď擾���� List�i�X�̗v�f�̓R���X�g���N�^�̈����ɓn����JavaBeans�N���X�̃C���X�^���X�j

�@BeanHandler�܂���BeanListHandler��p���āA�f�[�^�x�[�X�������������ʃZ�b�g��JavaBeans�Ƀ}�b�s���O����ɂ́A�f�[�^�x�[�X�̃e�[�u���̃J������JavaBeans�̃v���p�e�B�Ƃ̊ԂŌ^�Ɩ��O(�啶���������͓��ꎋ�����)�����낦�Ă����K�v������܂��B�Ⴆ��Items.sql�Œ�`�����e�[�u��ITEMS�Ɋi�[�����f�[�^��JavaBeans�Ƀ}�b�s���O����ɂ́AMyBean.java�̂悤��JavaBeans���`���܂��B

Items.sql
CREATE TABLE ITEMS
( ID INTEGER PRIMARY KEY,
NAME VARCHAR(255) NOT NULL
);


MyBean.java
package mybean;

public class MyBean {
  private int id;
  private String name;
  public void setId(int id) { this.id = id; }
  public int getId() { return id; }
  public void setName(String name) { this.name = name; }
  public String getName() { return name; }
}


�@BeanListHandler���g�p���āA�f�[�^�x�[�X�ɃA�N�Z�X���A�e�[�u��ITEMS�Ɋi�[����Ă���S�f�[�^��MyBean.java�ɂ���`�����JavaBeans�Ƃ��Ď擾����jsp�̗��BeanListHandlerSample.jsp�Ƃ��Ď����܂��B�Ȃ��A�O�q����MyBean.java�̃N���X�t�@�C�����܂�jar�t�@�C���ƁADbUtils��commons-dbutils-1.0.jar��tomcat��̃A�v���P�[�V��������Q�Ɖ”\�ɂȂ��Ă���ADataSource��JNDI���ujava:comp/env/jdbc/TestDB�v�Ŏ擾�ł�����̂Ƃ��܂��Btomcat��JNDI����ݒ肷����@�́A�uJNDI���p�Ńf�[�^�\�[�X�Ǘ����ꌳ������v���Q�Ƃ��Ă��������B

�@BeanListHandlerSample.jsp������ƕ�����悤�ɁA�킸��3�s�ŖړI�̏������ł��Ă��܂��B�I��������InitialContext�����ł���A�R�[�h���������肵�Ă���̂�������܂��B

BeanListHandlerSample.jsp
<%@ page contentType="text/html; charset=Windows-31J"
import="java.util.List,
java.util.Iterator,
javax.naming.InitialContext,
javax.sql.DataSource,
javax.naming.Context,
org.apache.commons.dbutils.QueryRunner,
org.apache.commons.dbutils.handlers.BeanListHandler,
org.apache.commons.dbutils.ResultSetHandler,
mybean.MyBean" %>
<%
InitialContext init = new InitialContext();
DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/TestDB");

QueryRunner qr = new QueryRunner(ds);
ResultSetHandler rsh = new BeanListHandler(MyBean.class);//���ʂ��i�[����JavaBeans���w��

//SQL�����s���A���ʂ̊e�s�ɑΉ�����MyBean�C���X�^���X�𐶐����Ċe�J�����̒l���Z�b�g���A���X�g�Ƃ��ĕԂ�
List list = (List)qr.query("SELECT * FROM ITEMS", rsh);
%> 
<html>
  <head><title>DbUtils BeanListHandler sample</title></head>
    <body>

     <table border>
      <tr><th>ID</th><th>Name</th></tr>
      <%
      for (Iterator i = list.iterator(); i.hasNext(); ) {
        MyBean bean = (MyBean)i.next();
        %> 
        <tr><td><%= bean.getId() %></td>
        <td><%= bean.getName() %></td></tr>
        <%
      }
      init.close(); 
      %> 
    </table>
  </body>
</html> 


���s����
s

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B