JavaÊÂÎñAPI
JavaÊÂÎñAPI£¨JTA£»Java Transaction API£©ºÍËüµÄͬ°ûJavaÊÂÎñ·þÎñ(JTS£»Java TransactionService)£¬ÎªJ2EEƽ̨ÌṩÁË·Ö²¼Ê½ÊÂÎñ·þÎñ¡£Ò»¸ö·Ö²¼Ê½ÊÂÎñ£¨distributedtransaction£©°üÀ¨Ò»¸öÊÂÎñ¹ÜÀíÆ÷£¨transaction manager£©ºÍÒ»¸ö»ò¶à¸ö×ÊÔ´¹ÜÀíÆ÷(resource manager)¡£Ò»¸ö×ÊÔ´¹ÜÀíÆ÷£¨resource manager£©ÊÇÈÎÒâÀàÐ͵ij־û¯Êý¾Ý´æ´¢¡£ÊÂÎñ¹ÜÀíÆ÷£¨transaction manager£©³Ðµ£×ÅËùÓÐÊÂÎñ²ÎÓëµ¥ÔªÕßµÄÏ໥ͨѶµÄÔðÈΡ£Ï³µÕ¾ÏÔʾÁËÊÂÎñ¹ÜÀíÆ÷ºÍ×ÊÔ´¹ÜÀíµÄ¼äµÄ¹ØÏµ¡£
¡¡¡¡JTAÊÂÎñ±ÈJDBCÊÂÎñ¸üÇ¿´ó¡£Ò»¸öJTAÊÂÎñ¿ÉÒÔÓжà¸ö²ÎÓëÕߣ¬¶øÒ»¸öJDBCÊÂÎñÔò±»ÏÞ¶¨ÔÚÒ»¸öµ¥Ò»µÄÊý¾Ý¿âÁ¬½Ó¡£ÏÂÁÐÈÎÒ»¸öJavaƽ̨µÄ×é¼þ¶¼¿ÉÒÔ²ÎÓëµ½Ò»¸öJTAÊÂÎñÖУº
¡¡¡¡.JDBCÁ¬½Ó
¡¡¡¡.JDO PersistenceManager ¶ÔÏó
¡¡¡¡.JMS ¶ÓÁÐ
¡¡¡¡.JMS Ö÷Ìâ
¡¡¡¡.ÆóÒµJavaBeans£¨EJB£©
¡¡¡¡.Ò»¸öÓÃJ2EE Connector Architecture ¹æ·¶±àÒëµÄ×ÊÔ´·ÖÅäÆ÷¡£
¡¡¡¡Ê¹ÓÃJTAµÄÊÂÎñ»®·Ö
¡¡¡¡ÒªÓÃJTAÀ´»®·ÖÒ»¸öÊÂÎñ£¬Ó¦ÓóÌÐòµ÷ÓÃjavax.transaction.UserTransaction½Ó¿ÚÖеķ½·¨¡£Ê¾Àý4ÏÔʾÁËÒ»¸öµäÐ͵ÄJNDIËÑË÷µÄUseTransaction¶ÔÏó¡£
import javax.transaction.*£»
import javax.naming.*£»
// ...
InitialContext ctx = new InitialContext()£»
Object txObj = ctx.lookup("java:comp/UserTransaction"£»)£»
UserTransaction utx = (UserTransaction) txObj£»
Ó¦ÓóÌÐòÓÐÁËUserTransaction¶ÔÏóµÄÒýÓÃÖ®ºó£¬¾Í¿ÉÒÔÏóʾÀý5ÄÇÑùÀ´Æð¶¯ÊÂÎñ¡£
utx.begin()£»
// ...
DataSource ds = obtainXADataSource()£»
Connection conn = ds.getConnection()£»
pstmt = conn.prepareStatement("£»UPDATE MOVIES ..."£»)£»
pstmt.setString(1£¬ "£»Spinal Tap"£»)£»
pstmt.executeUpdate()£»
// ...
utx.commit()£»
// ...
µ±Ó¦ÓóÌÐòµ÷ÓÃcommit()ʱ£¬ÊÂÎñ¹ÜÀíÆ÷ʹÓÃÁ½¶ÎÌá½»ÐÒéÀ´½áÊøÊÂÎñ¡£JTAÊÂÎñ¿ØÖƵķ½·¨£º
javax.transaction.UserTransaction½Ó¿ÚÌṩÁËÏÂÁÐÊÂÎñ¿ØÖÆ·½·¨£º
public void begin()
public void commit()
public void rollback()
public void getStatus()
public void setRollbackOnly()
public void setTransactionTimeout(int)
Ó¦ÓóÌÐòµ÷ÓÃbegin()À´Æð¶¯ÊÂÎñ£¬¼´¿Éµ÷ÓÃcommit()Ò²¿ÉÒÔµ÷ÓÃrollback()À´½áÊøÊÂÎñ¡£
¡¡¡¡Ê¹ÓÃJTAºÍJDBC
¡¡¡¡¡¡¿ª·¢ÈËÔ±¾³£Ê¹ÓÃJDBCÀ´×÷ΪDAOÀàÖеĵײãÊý¾Ý²Ù×÷¡£Èç¹û¼Æ»®Ê¹ÓÃJTAÀ´»®·ÖÊÂÎñ£¬Ä㽫ÐèÒ
Ïà¹ØÎĵµ£º
ʼþÔ´¸ºÔð²úÉúʼþ
ʼþÀࣺ¶¨ÒåʼþµÄÌØÕ÷£»
¼àÌýÆ÷½Ó¿Ú£º¶¨Òå¼àÌýÆ÷Ó¦¸ÃʵÏֵŦÄÜ£»
¼àÌýÆ÷£ºÊµÏÖ¼àÌýÆ÷½Ó¿Ú£¬¼àÌýʼþµÄ·¢Éú²¢×÷³öÏìÓ¦£»
ËùÓеÄʼþÀà±ØÐë¼Ì³ÐJavaʼþ»ùÀ࣬¼´java.util.EventObject£»EventObject(Object source)ÊÇEventObjectΨһµÄ¹¹Ôì·½·¨£¬ÕâÒâζ×ÅËùÓÐʼþ±ØÐëÔÚʵÀý»¯Ê±¾ÍÖ¸¶¨Ê¼þÔ´ ......
½üÀ´ÔÚ×öJAVAʱÓõ½ÎļþµÄѹËõÓë½âѹ,ÆäÖÐÅöµ½Á˸öÎÊÌâ:ÏÈÓÃJAVA´úÂë´ò°üºÃµÄJARÎļþ¾¹ýC#µÄzlib´¦Àíºó,¾¹È»²»ÄÜÐÞ¸Ä!
ÍøÉÏÕÒÁ˺ÃЩ´úÂë¶¼²»¿ÉÐÐ,JAVA´´½¨µÄJAR°üÔÚÐ޸ĵÄʱºò¿ÉÒÔ·¢ÏÖ¿ªÊ¼Óиö·¾¶·û'/'»ò'\',ËäÈ»ÔÚ´Ë¿ÉÒÔÐÞ¸ÄJARÎļþ,µ«ÊÇ×ܾõµÃÒþ»¼³öÔÚÕâ,ºóÀ´µÄÊÂÊ ......
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import or ......
¶ÔÓÚ10½øÖÆÊýת»»ÎªN£¨2-36£©½øÖÆÒ»°ã¶¼ÊÇÑ¡ÔñÈ¡Óà³ýµÄËã·¨½øÐÐת»» £¬ÏÂÃæ¸ø³öÁ½ÖÖ·½°¸
Ò»ÖÖÊǵݹ飬һÖÖÊǵü´ú¡£Í¨¹ýЧÂÊÆÀ¼ÛÁ½ÕßÐÔÄÜ
ÆäÖеü´úµÄ·½°¸Ö±½ÓÈ¡×ÔjavaÔ´´úÂë¡£
/*
*Class NotationConvert.java
*Create Date: 2009-11-12
*Author:a276202460
*/
package com.rich.notation;
public class Notat ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......