�A�� ���ɗ���XML�c�[���W�i6�j
Relaxer�ŃI�u�W�F�N�g��RDB�Ƀ}�b�s���O Page 3
www.netpotlet.com
���c�m�q
2004/5/14
���T���v���A�v���P�[�V�����̎���
�@�����܂ł̂Ƃ���ŁA�������I������̂ŁA���x�̓A�v���P�[�V���������܂��B�A�v���P�[�V�����ł͐}6�Ɏ�����A�̑�����s���܂��B���̃A�v���P�[�V�����͑O���Castor JDO�̃T���v���Ƃقړ��l�ɓ����悤�ɂ��܂����B��r���₷���悤�ɁA���\�b�h�����ł��邾�������ɂ��Ă���܂��B�O��L�����}10�Ɣ�r�����2�ڂ̑��삪�Ⴄ�����Ƃ����̂��悭������ł��傤�B
�}6�@�T���v���A�v���P�[�V�����̑��� |
�@�T���v���A�v���P�[�V���������X�g5��RelaxerJDBCTest�N���X�̂悤�ɂȂ�܂����B�e����ɂ��Č��Ă݂܂��傤�B
1�j�A���}�[�V����
53 private ElfGoodsList unmarshal(String
xmlfile) |
�@Relaxer����������N���X�ɃA���}�[�V�����Ƃ������\�b�h�͂���܂��AXML������ǂݍ���ŃC���X�^���X�����镔�����o����unmarshal���\�b�h���`���܂����BRelaxer���g���ƁAXML�����ւ̃p�X���w�肵�āA�c���[�\���̃��[�g�ɓ�����v�f�ɑΉ�����N���X�̃C���X�^���X�����邾���ŁAXML���f������I�u�W�F�N�g���f���փ}�b�s���O����܂��B
2�j�f�[�^�x�[�X�Ƃ̐ڑ��쐬
40 ConnectionManager
connectionManager = |
�@���̃T���v���v���O������Jakarta Commons DBCP���g���ăf�[�^�x�[�X�Ƃ̐ڑ����Ǘ����Ă��܂��B�ڑ����Ǘ����Ă���̂����X�g6��ConnectionManager�N���X�ł��BDBCP���g���ƊȒP�ɃR�l�N�V�����v�[�����O�@�\�̂���ڑ������܂��B
3�j�A���}�[�V���������I�u�W�F�N�g���f�[�^�x�[�X��
64 Connection
connection = manager.getConnection(); |
�@GoodsListTable��GoodsTable�̂悤��xxxTable�Ƃ������O�̃N���X�ɂ́ASQL��INSERT�����s�ɑ�������insert()���\�b�h������܂��B���̃��\�b�h�̈����ɃI�u�W�F�N�g��XML������URL���w�肷��ƃf�[�^�x�[�X�ɏ������܂�܂��Binsert()���\�b�h�̈����ɂ�DOM�c���[��v�f�A�z��ȂǑ��l�Ȍ^���w��ł���悤�ɂȂ��Ă���̂ŁA�v���O���~���O���ɂ͎����������ꂽxxxTable�N���X�̃\�[�X�R�[�h�����Ă����Ƃ����ł��傤�B
�@Relaxer JDBC�̓g�����U�N�V�����֘A�̃��\�b�h��N���X�����܂���B�f�t�H���g��JDBC API�̃f�t�H���g�̓���ł��鎩���R�~�b�g���K�p����܂��B�R�~�b�g�̃^�C�~���O�𐧌䂵�����ꍇ��xxxTable�N���X��getConnection()���\�b�h��java.sql.Connection�^�̃C���X�^���X���擾���邩�A���̃T���v���̂悤�ɃR�l�N�V�����ڈ�����悤�ɂ��Ă����܂��B�����JDBC API�ɂ��R�~�b�g�̐��䂪�ł���悤�ɂȂ�܂��B
4�j�v���O�������ō�����I�u�W�F�N�g���f�[�^�x�[�X��
74 String
id = "5"; |
�@�A���}�[�V�����ɂ�萶�����ꂽ�I�u�W�F�N�g����ł͂Ȃ��A���̂悤�ɂ��ĐV�K�ɍ�����I�u�W�F�N�g���f�[�^�x�[�X�ɓ�����܂��BRelaxer��setIdByString()��setXmlDateByString()�̂悤��setXXXByString()���\�b�h������̂ŁA�f�[�^�^�ɍ��킹���I�u�W�F�N�g��^�C�v��p�ӂ���K�v�͂���܂���B�܂��AJava�ł͌���\��������0�`11�Ȃ̂ŁA2004�N12��12�����Z�b�g�������ꍇ�A�u2004, 11, 12�v�Ƃ��������ɂ��Ȃ���Ȃ�܂��AsetXXXByString()���\�b�h���g���Ɓu2004-12-12�v�̂悤�ɂ��̂܂w��ł��܂��B
5�j�f�[�^�x�[�X�̏����I�u�W�F�N�g��
101 Connection
connection = manager.getConnection(); |
�@SQL��SELECT�������̏������s���ɂ�xxxTable�AxxxTableView�̂ǂ��炩�̃N���X��select()��selectAsDocument()�AselectByExpressionAsDocument()�̂悤��selectXXX()���\�b�h���g���܂��BxxxTable�N���X�ɂ�insert()��update()���\�b�h���܂܂�܂����AxxxTableView�N���X�ɂ͂���܂���B�Q�Ƃ���݂̂̏ꍇ��xxxTableView�N���X���g���܂��B
�@Relaxer JDBC�͓Ǝ��̃N�G�������OQL�Ȃǂ��g�킸�ASQL���̂��̂��g���܂��Bselect()���\�b�h���s�O��SELECT�߂���ŁA�Ⴆ�uSELECT * FROM goods�v�̂悤�ɐݒ肵�Ă����A�uWHERE id=3�v�Ȃǂ̏����⎮��t�������ꍇ�́AselectXXX()���\�b�h�̈����œn���܂��B���̃T���v���̏ꍇ�ARelaxerJDBCTest�̃R���X�g���N�^��
47 ElfGoodsList
selected = |
�̂悤��SELECT�߂��w�肵�A102�A103�s�ڂōs���Ă���悤��xxxTableView�^�̃C���X�^���X���擾����Ƃ��Ɉ����œn���Ă��܂��B
�@Relaxer JDBC��SELECT�������d�g�݂̓V���v���ł����A���s��ɑ��l�Ȍ^�Ńf�[�^���擾�ł���̂��ق���O�^R�}�b�s���O�c�[���ƈႤ�Ƃ���ł��BSELECT�����s���while����1��1�f�[�^�����o���Ȃ���A�I�u�W�F�N�g�ɃZ�b�g���Ă���������O�^R�}�b�s���O�c�[�����������A�X�L�[�}�Œ�`���ꂽ�h�L�������g�̗v�f�₻�̔z��ADOM�c���[�Ȃǂ̂������̑���Ɏg����^�Ŏ擾�ł���悤�ɂȂ��Ă��܂��B���̃T���v���ł�104�s�ڂŎ��s���Ă���悤�ɔz��Ŏ擾���܂����B
6�j�}�[�V����
111 private String getMarshalledString(ElfGoodsList
elfGoodsList) { |
�@Relaxer�̓A���}�[�V�������l�A�}�[�V�����Ƃ������\�b�h�͐������܂��ACastor JDO�̃T���v���Ɠ����ɂȂ�悤�ɁA������ڂ��ʂ������\�b�h�������č��܂����BRelaxer�̓}�[�V�������ɃX�g���[���ɏo�͂ł������ł͂Ȃ��A112�s�ڂōs���Ă���悤�ɕ�����Ŏ��o�����Ƃ��ł��܂��B���̂��߁A���̃��\�b�h�͖��O���킹���x�̒Z�����̂ɂȂ��Ă��܂��B
7�jXML�{XSLT��HTML�֕ϊ�
�@JAXP�iJava API for XML Processing�j���g���ĕϊ����܂����A���̕����͑O���Castor JDO�̃T���v���Ƃ܂����������ł��B�e���v���[�g���������̂��g���Ă���̂ŁA�O���̃��X�g8�A9��������Q�Ƃ��Ă��������B
�y���X�g5�@RelaxerJDBCTest.java�i�ʃE�B���h�E�ŕ\�����܂��j�z
�y���X�g6�@ConnectionManager.java�i�ʃE�B���h�E�ŕ\�����܂��j�z
�A�v���P�[�V�������s
�@�T���v���A�v���P�[�V���������s���Ă݂܂��傤�B���̃A�v���P�[�V�������A���}�[�V��������̂����X�g7��XML����goods.xml�ł��B���̓��e���f�[�^�x�[�X�ɓo�^���܂��B���X�g7�͑O���Castor JDO�̃��X�g3�Ɠ������̂ł��Bgoods.xml��elf�v���W�F�N�g��docs�t�H���_�[�ɒu���܂����B
�y���X�g7�@goods.xml�i�ʃE�B���h�E�ŕ\�����܂��j�z
�@���s����ɂ͎��̂悤�ɂ��܂��B
�@�c�[���o�[�̎��s �� ���s... �� Java�A�v���P�[�V�����I�� ��
�@�V�K�i����j �� �����^�u ��
�@�v���O�������� �����i����j
�� �K�p �� ���s
���� �v���O�������� docs/goods.xml org.postgresql.Driver jdbc:postgresql:elf �i�f�[�^�x�[�X����elf�ɂ����̂�JDBC URL��jdbc:postgresql:elf�ɂȂ��Ă���j |
�@���Ȃ����s�����A�}2�Ɏ�����HTML�t�@�C��docs/goods.html������܂��B�Ȃ��A����id�ł͐V�K�̃f�[�^���f�[�^�x�[�X�ɏ������߂Ȃ��̂ŁA�����Ď��s����ꍇ��id��ς��Ď����Ă��������B
�@Castor JDO�Ɣ�r���₷���悤�ɓ���������s���T���v����Relaxer JDBC���g���č���Ă݂܂������A�������������ł��傤���B�ŋ߁A�l�C�̂���O�^R�}�b�s���O�c�[���ł���Hibernate��Castor JDO�Ɏ��Ă���̂ŁAHibernate��Relaxer JDBC�Ƃ̔�r�ɂ��Ȃ���̂ł͂Ȃ����Ǝv���܂��B
�@Relaxer��JCP�iJava Community Process�j�Ō��肳�ꂽ�����̎d�l���������Ă���c�[���ł͂���܂��A���p�҂̖ڐ��ōl�����Ă���c�[���Ƃ�����ł��傤�B�f�[�^�x�[�X�Q�ƕ��@��1�̗�ł��BRelaxer JDBC��SQL��m��Ȃ��Ǝg���Ȃ����ʁASQL��m���Ă���v���O���}�ɂ̓X�g���X�Ȃ��g����悤�ɂȂ��Ă��܂��B�f�[�^�x�[�X���������Ƃ���v���O���}��SQL���܂������m��Ȃ��܂܁A�A�v���P�[�V���������Ƃ����͍l���ɂ����̂ŁA�Ó��ȑI���ł͂Ȃ����Ǝv���܂��B����A�f�[�^�x�[�X����擾�����f�[�^�͑��l�Ȍ^�Ŏ�邱�Ƃ��ł���̂ŁA�v���O���}���ϊ����Ȃ��Ă����̂܂��̑���Ɏg����悤�ɂȂ��Ă���̂ŕ֗��ł��B
�@O�^R�}�b�s���O�c�[���Ȃǎg�킸��JDBC API���̂܂܁A���邢��Jakarta Commons DbUtils�Ȃǂ𗘗p������x�ōς܂��Ă���Ƃ�����������������܂��B�O��L���̂܂Ƃ߂ł��G��܂������A���傤�ǂ���O�^R�}�b�s���O�c�[��������Ȃ��̂�����̂悤�ł��B���܂��钆���炱��Ȃ�g����Ǝv���c�[����T���ɂ́A���낢���O�^R�}�b�s���O�c�[���������āA���ꂼ��̍l�����⓾�ӕ���ׂ邵���Ȃ��̂ł��傤�B���̋@���Relaxer JDBC�������Ă݂Ă��������B
�@�����XML�ŋL�q����v���[���e�[�V�����c�[���AXUL�i���[��j�����グ��\��ł��B�܂��AXUL�����T�[�o�T�C�h�̊��ɂ�JSF�iJavaServer Faces�j���g���Ă݂܂��B
�@����g�p�����v���O������t�@�C���ނ͈ȉ�����_�E�����[�h�ł��܂��B
�@Windows���ŗ��p�����ꍇ�Aeuc-jp��Windows-31J�ȂǓK���ȃG���R�[�f�B���O�ɕύX���Ă��������B�܂��A���{����܂ރt�@�C����EUC-JP�ɂȂ��Ă��܂��̂ŁA���炩���ߕ����R�[�h��ς��Ă��痘�p�����Ƃ����ł��傤�B�i�����ɑ����j
- Relaxer����
http://terai.s55.xrea.com/Relaxer.html
�@ - Relaxer�h�L�������g
http://www.relaxer.org/doc/index_ja.html
Page 2 | 3/3 |
�@Index | |
�A�� ���ɗ���XML�c�[���W�i7�j Relaxer�ŃI�u�W�F�N�g��RDB�Ƀ}�b�s���O |
|
O�^R�}�b�s���O�c�[���Ƃ��Ă�Relaxer Relaxer JDBC�Ƃ� Relaxer�̓���ƃT���v�����s���̃Z�b�g�A�b�v |
|
�T���v���A�v���P�[�V�����̐v | |
�T���v���A�v���P�[�V�����̎��� �܂Ƃ߁��T���v���_�E�����[�h �Q�l�T�C�g |
���֘A�L��
�@�ESE�̂��߂�XML
Schema����
�@�EXML�e�N�j�b�N�W
�@�EJava�Ŏ�������DOM/SAX�v���O���~���O
�u�A�� ���ɗ���XML�c�[���W�v |
- QA�t���[�����[�N�F�d�l�K�C�h���C���������ɏ��i �i2005/10/21�j
�@�f�[�^�x�[�X�̋}����XML�Ή��Ɍ㉟������Ă��A9���ɓ����āuXQuery�v��uXPath�v�ɊW�����h���t�g����C��11�{���X�V���ꂽ - XML�������L�q����XMLspec�Ƃ͉��� �i2005/10/12�j
�@�uXML 1.0�����v��XMLspec DTD�ŋL�q����AXSLT�ɂ���Đ�������Ă���B�����XML���{���ɖ𗧂��Ă����̓I�ȏł��� - ���������������ɂ܂��W�����} �i2005/9/13�j
�@���������������iUTF-8�A�V�t�gJIS�Ȃǁj���������o����ɂ́A�j���g���Ɨ��̊W�ɂ���W�����}����������d�g�݂��K�v�ƂȂ� - XML�L�[�Ǘ��d�l�iXKMS 2.0�j�������ɏ��i �i2005/8/16�j
�@�Z�L�����e�B�֘A��XML�d�l�ɐi�W����B�܂��A���{���̐V����XML�\�t�g�E�F�A�A�[�L�e�N�`���uxfy technology�v�̏ڍׂ��Љ��
|
|