﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-david database lab-文章分类-JAVA</title><link>http://www.blogjava.net/javaex/category/31643.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 16 Aug 2009 08:17:02 GMT</lastBuildDate><pubDate>Sun, 16 Aug 2009 08:17:02 GMT</pubDate><ttl>60</ttl><item><title>普通视图用程序比对实现数据同步</title><link>http://www.blogjava.net/javaex/articles/291033.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Thu, 13 Aug 2009 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/291033.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/291033.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/291033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/291033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/291033.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt">package com.*.*.thread.polling.domain;</span></p>
<p><span style="font-size: 10pt">import java.io.IOException;<br />
import java.sql.Connection;<br />
import java.sql.PreparedStatement;<br />
import java.sql.ResultSet;<br />
import java.sql.SQLException;<br />
import java.sql.Statement;<br />
import java.util.ArrayList;<br />
import java.util.Calendar;<br />
import java.util.Collection;<br />
import java.util.HashMap;<br />
import java.util.HashSet;<br />
import java.util.Iterator;<br />
import java.util.List;<br />
import java.util.Map;</span></p>
<p><span style="font-size: 10pt">import com.*.*.database.DBUtil;<br />
import com.*.*.fwk.base.*BOImpl;<br />
import com.*.*.util.PropertyReader;<br />
import com.*.*.util.log.Logger;<br />
import com.*.exception.DuplicateKeyException;<br />
import com.*.exception.EncryptionException;<br />
import com.*.exception.RecordNotFoundException;<br />
import com.*.util.CharTurn;</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt">public class PartenerSynPollingBO extends *BOImpl {<br />
&nbsp;<br />
&nbsp;//远程连接<br />
&nbsp;Connection remoteConn =null;<br />
<br />
&nbsp;private final static String LIST_REMOTE_PARTENER = <br />
&nbsp;&nbsp;" SELECT " <br />
&nbsp;&nbsp;+" SUP_ID,"<br />
&nbsp;&nbsp;+" SUP_CODE,"<br />
&nbsp;&nbsp;+" NAME,"<br />
&nbsp;&nbsp;+" REPRESENTER,"<br />
&nbsp;&nbsp;+" ADDRESS,"<br />
&nbsp;&nbsp;+" EMAIL,"<br />
&nbsp;&nbsp;+" FAX,"<br />
&nbsp;&nbsp;+" PHONE "<br />
&nbsp;&nbsp;+" FROM PMS.SUP_SUPPLIER_VIEW&nbsp; ";<br />
//&nbsp;&nbsp;+" WHERE TYPE IN(1,2,3,4) AND SUP_LEVEL IN(1,2,3)" ;<br />
&nbsp;</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; private static String s_par_db_UserName = "";<br />
&nbsp;&nbsp;&nbsp; private static String s_par_db_Password = "";<br />
&nbsp;&nbsp;&nbsp; private static String s_par_db_url = "";<br />
&nbsp;&nbsp;&nbsp; private static String s_par_db_driver= ""; </span></p>
<p><br />
<span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; static {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PropertyReader pr = new PropertyReader();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s_par_db_UserName = pr.getProperty("PAR_DB_USERNAME");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s_par_db_Password = CharTurn.paraDecrypt(pr.getProperty("PAR_DB_PASSWORD"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s_par_db_driver = pr.getProperty("DRIVER_PAR"); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s_par_db_url = pr.getProperty("PAR_DB_URL"); ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (EncryptionException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) throws IOException,<br />
&nbsp;SQLException, RecordNotFoundException {<br />
&nbsp;&nbsp;PartenerSynPollingBO partenerSynPollingBO = new PartenerSynPollingBO();<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;partenerSynPollingBO.polling();<br />
&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; </span></p>
<p><br />
<span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * 帐号生命周期轮询<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws Exception <br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws RecordNotFoundException 记录无法找到<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws DuplicateKeyException 重复主键<br />
&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; public void polling() throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("开始同步厂商库 "+Calendar.getInstance().getTime());<br />
&nbsp;&nbsp;&nbsp; &nbsp;remoteConn = PartenerSynPollingBO.getRemoteConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;PreparedStatement remotePstmt=null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;ResultSet remoteRs =null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;//本地连接<br />
&nbsp;&nbsp;&nbsp; &nbsp;Connection conn =null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;conn = DBUtil.getConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;remotePstmt = remoteConn.prepareStatement(LIST_REMOTE_PARTENER);<br />
&nbsp;&nbsp;&nbsp; &nbsp;remoteRs = remotePstmt.executeQuery();</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; &nbsp;HashSet allParIdset= new HashSet();</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;if(remoteConn!=null){<br />
&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;int i=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;while(remoteRs.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //变量<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Integer sup_id = Integer.valueOf(String.valueOf(remoteRs.getInt("SUP_ID")));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;String sup_code = String.valueOf(remoteRs.getString("SUP_CODE")==null?"":remoteRs.getString("SUP_CODE"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String name = String.valueOf(remoteRs.getString("NAME")==null?"":remoteRs.getString("NAME"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String address = String.valueOf(remoteRs.getString("ADDRESS")==null?"":remoteRs.getString("ADDRESS"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String phone&nbsp; = String.valueOf(remoteRs.getString("PHONE")==null?"":remoteRs.getString("PHONE"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String email =&nbsp; String.valueOf(remoteRs.getString("EMAIL")==null?"":remoteRs.getString("EMAIL"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String representer = String.valueOf(remoteRs.getString("REPRESENTER")==null?"":remoteRs.getString("REPRESENTER"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String fax =&nbsp; String.valueOf(remoteRs.getString("FAX")==null?"":remoteRs.getString("FAX"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;//统计SUP_ID<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allParIdset.add(remoteRs.getObject("SUP_ID"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //取公司邮箱后缀<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String mailDomain ="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(email!=null &amp;&amp; !"".equals(email)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;int index = email.lastIndexOf("@");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(index!=-1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;mailDomain = email.substring(index+1);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PreparedStatement localPstmt=null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; if(!PartenerSynPollingBO.isExist("t_ap_partener_syn", "SUP_ID", String.valueOf( sup_id ))){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; System.out.println("---正在添加id为: "+ sup_id +" 的厂商---");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;/** 往厂商中间表插入数据 */</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt = conn.prepareStatement("insert into t_ap_partener_syn(SUP_ID,SUP_CODE,NAME,REPRESENTER,ADDRESS," +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;"EMAIL,FAX,PHONE,UPDATETIME, MAILDOMAIN) " <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;+ "values(?,?,?,?,?,?,?,?,SYSDATE,?)");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setInt(1,Integer.parseInt(sup_id.toString()));&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(2,sup_code);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(3,name);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(4,representer);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(5,address);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(6,email);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(7,fax);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(8,phone);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(9,mailDomain);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.executeUpdate();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//继续判断厂商记录是否被修改<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;String sql = "select sup_id from t_ap_partener_syn where SUP_ID = "+sup_id ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//address进行特殊处理<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(address!=null &amp;&amp; !"".equals(address.trim())){&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;address = address.replace("\'","\"" );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;String condition = " and ( SUP_CODE!= '"+ sup_code + "' or name!= '"+ name+ "' or REPRESENTER!= '"+ representer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;+ "' or ADDRESS!= '"+ address+ "' or EMAIL!= '"+ email+ "' or fax!= '"+ fax+ "' or mailDomain!= '"+ mailDomain<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;+ "' or phone!= '"+ phone+"' )";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt = conn.prepareStatement(sql+condition);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;ResultSet rs_p = localPstmt.executeQuery();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(rs_p.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;System.out.println("---正在修改id为: "+ sup_id +" 的厂商---");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;localPstmt = conn.prepareStatement("update T_AP_PARTENER_SYN set SUP_CODE=?,NAME=?,REPRESENTER=?,ADDRESS=?," +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;" updatetime=sysdate,EMAIL=?, FAX=?,PHONE=?,mailDomain=?&nbsp; where SUP_ID = ? ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(1,sup_code);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(2,name);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(3,representer);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(4,address);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(5,email);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(6,fax);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(7,phone);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setString(8,mailDomain);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.setInt(9,Integer.parseInt(sup_id.toString()));&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.executeUpdate();</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(localPstmt!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;localPstmt.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;i++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//删除已不存在厂商记录<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;deletePartenerRecord("T_AP_PARTENER_SYN", "SUP_ID" , allParIdset); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.print("结束同步厂商库 " +Calendar.getInstance().getTime());</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw ex;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(conn!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(remoteConn!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;remoteConn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;}else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;System.out.println("连接数据库失败!");<br />
&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; </span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; /** <br />
&nbsp;&nbsp;&nbsp;&nbsp; * 获得数据库连接<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @return<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; public static Connection getRemoteConnection(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connection conn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = DBUtil.getConnection(s_par_db_driver, s_par_db_url, s_par_db_UserName, s_par_db_Password);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(conn == null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new SQLException("Get partener db conncetion failed.");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return conn;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (ClassNotFoundException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; </span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; /** 通过关键字判断记录是否存在 */<br />
&nbsp;&nbsp;&nbsp; public static boolean isExist(String tableName, String colName, String value){<br />
&nbsp;&nbsp;&nbsp; &nbsp;Connection conn=null; <br />
&nbsp;&nbsp;&nbsp; &nbsp;PreparedStatement pstmt=null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;conn = DBUtil.getConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; pstmt = conn.prepareStatement("select "+colName +" from "+tableName + " where " + colName&nbsp; +" = " +value );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ResultSet rs= pstmt.executeQuery();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; if(rs.next()){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(pstmt!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pstmt.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;if(conn!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp;return false;<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; /** 删除已不存在的厂商记录 */<br />
&nbsp;&nbsp;&nbsp; public static void deletePartenerRecord(String tableName, String colName, HashSet sub_ids){<br />
&nbsp;&nbsp;&nbsp; &nbsp;Connection conn=null; <br />
&nbsp;&nbsp;&nbsp; &nbsp;PreparedStatement pstmt=null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;conn = DBUtil.getConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Statement sate = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;ResultSet rs =sate.executeQuery(" SELECT SUP_ID, SUP_CODE, NAME FROM T_AP_PARTENER_SYN ");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;String removeID="";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;while(rs.next()){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if(!sub_ids.contains(rs.getObject("SUP_ID"))){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;removeID = removeID+","+ rs.getObject("SUP_ID").toString().trim();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;System.out.println("---将要删除: sub_id 为 "+rs.getObject("SUP_ID")+"的厂商---");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;//开始集体删除<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if(!"".equals(removeID) &amp;&amp; removeID.length()&gt;0){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;removeID = removeID.substring(0,1).equals(",")?removeID.substring(1,removeID.length()-1):removeID;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;pstmt = conn.prepareStatement("delete from&nbsp; "+tableName +" where "+ colName + " not in ( "+removeID+" )" ); <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;System.out.println("delete from&nbsp; "+tableName +" where "+ colName + " not in ( "+removeID+" )");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;pstmt.executeQuery();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("删除成功!");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(pstmt!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pstmt.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;if(conn!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p><br />
<span style="font-size: 10pt">}</span></p>
<p><span style="font-size: 10pt">&nbsp;<br />
<br />
//触发器<br />
</span></p>
<p><span style="font-size: 10pt">create or replace trigger tri_partener after insert or update or delete<br />
on t_ap_partener_syn for each row</span></p>
<p><span style="font-size: 10pt">declare<br />
&nbsp;&nbsp;&nbsp; integrity_error exception;<br />
&nbsp;&nbsp;&nbsp; errno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer;<br />
&nbsp;&nbsp;&nbsp; errmsg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char(200);<br />
&nbsp;&nbsp;&nbsp; dummy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer;<br />
&nbsp;&nbsp;&nbsp; found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean;</span></p>
<p><span style="font-size: 10pt">begin</span></p>
<p><br />
<span style="font-size: 10pt">if inserting then<br />
&nbsp;&nbsp;&nbsp; insert into t_ap_partener(</span></p>
<p><span style="font-size: 10pt">&nbsp; PARTENERID ,<br />
&nbsp; PARTENERNAME,<br />
&nbsp; ADDRESS,<br />
&nbsp; TELEPHONE,<br />
&nbsp; FLAG,<br />
&nbsp; MAILDOMAIN,<br />
&nbsp; VISUAL,<br />
&nbsp; SUP_ID,<br />
&nbsp; SUP_CODE,<br />
&nbsp; REPRESENTER,<br />
&nbsp; BUSI_TYPE,<br />
&nbsp; EMAIL,<br />
&nbsp; SITE_URL,<br />
&nbsp; FAX,<br />
&nbsp; UPDATETIME,<br />
&nbsp; syn_flag</span></p>
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; )<br />
&nbsp;&nbsp;&nbsp; values(SEQ_AP_PARTENER.Nextval,:new.name,:new.address,:new.phone,1,:new.mailDomain,<br />
&nbsp;&nbsp;&nbsp; 0, :new.SUP_ID,:new.SUP_CODE,:new.REPRESENTER,:new.BUSI_TYPE,:new.EMAIL,:new.SITE_URL,:new.FAX,sysdate,0);</span></p>
<p><br />
<span style="font-size: 10pt">elsif updating then<br />
&nbsp;&nbsp;&nbsp; update t_ap_partener set PARTENERNAME=:new.name,ADDRESS=:new.ADDRESS,TELEPHONE=:new.phone,flag =1,MAILDOMAIN=:new.mailDomain,visual=0<br />
&nbsp;&nbsp;&nbsp; ,SUP_ID=:new.SUP_ID, SUP_CODE=:new.SUP_CODE,REPRESENTER=:new.REPRESENTER,BUSI_TYPE=:new.BUSI_TYPE,EMAIL=:new.EMAIL,SITE_URL=:new.SITE_URL,FAX=:new.FAX,UPDATETIME=sysdate,syn_flag=0<br />
&nbsp;&nbsp;&nbsp;&nbsp; where SUP_ID=:OLD.SUP_ID;</span></p>
<p><br />
<span style="font-size: 10pt">elsif deleting then<br />
&nbsp;&nbsp;&nbsp; delete from t_ap_partener where SUP_ID=:OLD.SUP_ID;<br />
end if;<br />
exception<br />
&nbsp;&nbsp;&nbsp; when integrity_error then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise_application_error(errno, errmsg);<br />
end;<br />
<br />
<br />
//厂商表<br />
-- Create table<br />
create table T_AP_PARTENER<br />
(<br />
&nbsp; PARTENERID&nbsp;&nbsp; NUMBER not null,<br />
&nbsp; PARTENERNAME VARCHAR2(100),<br />
&nbsp; ADDRESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(100),<br />
&nbsp; TELEPHONE&nbsp;&nbsp;&nbsp; VARCHAR2(50),<br />
&nbsp; FLAG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER(1) default 1,<br />
&nbsp; MAILDOMAIN&nbsp;&nbsp; VARCHAR2(200),<br />
&nbsp; PARENTID&nbsp;&nbsp;&nbsp;&nbsp; NUMBER default 0,<br />
&nbsp; PLEVEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER(1) default 1,<br />
&nbsp; VISUAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER default 0,<br />
&nbsp; SUP_ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER,<br />
&nbsp; SUP_CODE&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(100),<br />
&nbsp; REPRESENTER&nbsp; VARCHAR2(80),<br />
&nbsp; BUSI_TYPE&nbsp;&nbsp;&nbsp; VARCHAR2(100),<br />
&nbsp; EMAIL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80),<br />
&nbsp; SITE_URL&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(120),<br />
&nbsp; FAX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(40),<br />
&nbsp; UPDATETIME&nbsp;&nbsp; TIMESTAMP(6),<br />
&nbsp; SYN_FLAG&nbsp;&nbsp;&nbsp;&nbsp; NUMBER(1)<br />
)<br />
<br />
//中间表<br />
create table T_AP_PARTENER_SYN<br />
(<br />
&nbsp; SUP_ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER,<br />
&nbsp; SUP_CODE&nbsp;&nbsp;&nbsp; VARCHAR2(100),<br />
&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(150),<br />
&nbsp; REPRESENTER VARCHAR2(80),<br />
&nbsp; BUSI_TYPE&nbsp;&nbsp; VARCHAR2(100),<br />
&nbsp; ADDRESS&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(200),<br />
&nbsp; EMAIL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80),<br />
&nbsp; SITE_URL&nbsp;&nbsp;&nbsp; VARCHAR2(120),<br />
&nbsp; FAX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(40),<br />
&nbsp; PHONE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(40),<br />
&nbsp; UPDATETIME&nbsp; TIMESTAMP(6),<br />
&nbsp; MAILDOMAIN&nbsp; VARCHAR2(200)<br />
)<br />
tablespace TBS_USERS<br />
&nbsp; pctfree 10<br />
&nbsp; pctused 40<br />
&nbsp; initrans 1<br />
&nbsp; maxtrans 255<br />
&nbsp; storage<br />
&nbsp; (<br />
&nbsp;&nbsp;&nbsp; initial 64K<br />
&nbsp;&nbsp;&nbsp; minextents 1<br />
&nbsp;&nbsp;&nbsp; maxextents unlimited<br />
&nbsp; );</span></p>
<img src ="http://www.blogjava.net/javaex/aggbug/291033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2009-08-13 16:17 <a href="http://www.blogjava.net/javaex/articles/291033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService用程序比对实现项目合同数据同步</title><link>http://www.blogjava.net/javaex/articles/291028.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Thu, 13 Aug 2009 08:04:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/291028.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/291028.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/291028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/291028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/291028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: package com.*.*.modules.webservice.service;import gmcc.investmentBuget.service.InvestmentBudgetImplStub;import java.io.IOException;import java.sql.Connection;import java.sql.Date;import java...&nbsp;&nbsp;<a href='http://www.blogjava.net/javaex/articles/291028.html'>阅读全文</a><img src ="http://www.blogjava.net/javaex/aggbug/291028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2009-08-13 16:04 <a href="http://www.blogjava.net/javaex/articles/291028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService--Xfire</title><link>http://www.blogjava.net/javaex/articles/279338.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Mon, 01 Jun 2009 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/279338.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/279338.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/279338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/279338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/279338.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一.发布端1.创建WEB项目xfire2.创建test包3.在test包下创建IHelloService.java, HelloServiceImpl.java, User.java, Course.java及IHelloService.aegis.xml.4.在test包下创建META-INF包，然后在META-INF包下创建xfire包, 最后在xfire包下创...&nbsp;&nbsp;<a href='http://www.blogjava.net/javaex/articles/279338.html'>阅读全文</a><img src ="http://www.blogjava.net/javaex/aggbug/279338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2009-06-01 10:28 <a href="http://www.blogjava.net/javaex/articles/279338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据分页</title><link>http://www.blogjava.net/javaex/articles/267319.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Fri, 24 Apr 2009 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/267319.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/267319.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/267319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/267319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/267319.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * 将指定的RecordSet转为Collection<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @param rs 需要转的ResultSet对象<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @return Collection类型的数据库集<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws ParameterException 参数错误，传输的参数rs不合法<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws SQLException 访问数据库异常<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; public static Collection resultSet2Collection(ResultSet rs) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ParameterException, SQLException {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Collection c = new Vector();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs == null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new ParameterException(" parameter rs is null");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (rs.next()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HashMap hm = new HashMap();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSetMetaData rsmd = rs.getMetaData();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int columnCount = rsmd.getColumnCount();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 1; i &lt;= columnCount; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.put(rsmd.getColumnName(i).toString(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getObject(i)==null?"":rs.getObject(i).toString().trim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.add(hm);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return c;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p><br />
&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * 根据pagesize和position将指定的RecordSet转为Collection<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @param rs 需要转的ResultSet对象<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @param position 当前页数<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @param pageSize 每页大小<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @return Collection类型的数据库集<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws ParameterException 参数错误，传输的参数rs不合法<br />
&nbsp;&nbsp;&nbsp;&nbsp; * @throws SQLException 访问数据库异常<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; public static Collection resultSet2Collection(ResultSet rs<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , int position, int pageSize) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ParameterException, SQLException {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Collection c = new Vector();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs == null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new ParameterException(" parameter rs is null");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (position &lt; 1) position = 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize &lt;= 0) pageSize = DEFAULT_PAGESIZE;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs.absolute(position))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HashMap hm = new HashMap();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSetMetaData rsmd = rs.getMetaData();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int columnCount = rsmd.getColumnCount();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 1; i &lt;= columnCount; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rsmd.getColumnTypeName(i).toLowerCase().equals("clob"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String content = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLOB clob = ((OracleResultSet) rs).getCLOB(rsmd.getColumnName(i));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (clob != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reader reader = clob.getCharacterStream();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedReader bufferedReader = new BufferedReader(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str = bufferedReader.readLine();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (str != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; content += str + "\n";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = bufferedReader.readLine();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.put(rsmd.getColumnName(i).toString(),content);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.put(rsmd.getColumnName(i).toString(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getObject(i) == null ? "" :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getObject(i).toString().trim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.add(hm);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!rs.next())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } while (--pageSize &gt; 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(IOException ioe){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return c;<br />
&nbsp;&nbsp;&nbsp; }</p>
<img src ="http://www.blogjava.net/javaex/aggbug/267319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2009-04-24 11:11 <a href="http://www.blogjava.net/javaex/articles/267319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Thread线程实例</title><link>http://www.blogjava.net/javaex/articles/234058.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Mon, 13 Oct 2008 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/234058.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/234058.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/234058.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/234058.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/234058.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt">package david;</span></p>
<p><span style="font-size: 10pt">public class Example1 extends Thread&nbsp; {</span></p>
<p><span style="font-size: 10pt">&nbsp;/**<br />
&nbsp; *&nbsp;通过继承线程类, 重写run方法.<br />
&nbsp; */<br />
&nbsp;public void run(){<br />
&nbsp;&nbsp;System.out.println("thread begin!");<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Example1 examp = new Example1();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; examp.start();<br />
&nbsp;}</span></p>
<p><span style="font-size: 10pt">}<br />
<br />
-----<br />
<br />
</span></p>
<p><span style="font-size: 10pt">package david;</span></p>
<p><span style="font-size: 10pt">public class Example2 implements Runnable {</span></p>
<p><span style="font-size: 10pt">&nbsp;/**<br />
&nbsp; *&nbsp;通过实现Runnable接口, 完成run方法.<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;Example2 examp = new Example2();<br />
&nbsp;&nbsp;Thread thread = new Thread(examp);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thread.start();<br />
&nbsp;}</span></p>
<p><span style="font-size: 10pt">&nbsp;public void run() {<br />
&nbsp;&nbsp;System.out.println("thread begin!");<br />
&nbsp;&nbsp;<br />
&nbsp;}</span></p>
<p><span style="font-size: 10pt">}<br />
</span><br />
<span style="font-size: 10pt">----</span></p>
<p><span style="font-size: 10pt">package david;</span></p>
<p><span style="font-size: 10pt">public class Thread1 implements Runnable {<br />
&nbsp;/**<br />
&nbsp; *&nbsp;synchronized同步锁<br />
&nbsp; */<br />
&nbsp;public void run() {<br />
&nbsp;&nbsp;synchronized (this) {<br />
&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; 5; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(Thread.currentThread().getName()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ " synchronized loop " + i);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;}</span></p>
<p><span style="font-size: 10pt">&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;Thread1 t1 = new Thread1();<br />
&nbsp;&nbsp;Thread ta = new Thread(t1, "A");<br />
&nbsp;&nbsp;Thread tb = new Thread(t1, "B");<br />
&nbsp;&nbsp;ta.start();<br />
&nbsp;&nbsp;tb.start();<br />
&nbsp;}<br />
}</span></p>
<p><br />
<br />
<br />
<br />
<br />
<span style="font-size: 10pt">&nbsp;</span></p>
<img src ="http://www.blogjava.net/javaex/aggbug/234058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2008-10-13 17:31 <a href="http://www.blogjava.net/javaex/articles/234058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaMail基础 转自 http://blog.donews.com/foxgem/archive/2005/06/11/424396.aspx</title><link>http://www.blogjava.net/javaex/articles/233180.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Wed, 08 Oct 2008 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/233180.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/233180.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/233180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/233180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/233180.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;使用之前，必须了解的基本概念与核心类：Session是邮件操作的接口；Transport是收发邮件所使用的协议，一般Session会有多个Transport；Message是收发操作的单位；Store是消息的集合，类似邮件客户端。每个Store包含一系列的Folder和Message，每个Folder又包含一系列的Folder和Message。Session需要使用java...&nbsp;&nbsp;<a href='http://www.blogjava.net/javaex/articles/233180.html'>阅读全文</a><img src ="http://www.blogjava.net/javaex/aggbug/233180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2008-10-08 17:12 <a href="http://www.blogjava.net/javaex/articles/233180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java进制互转</title><link>http://www.blogjava.net/javaex/articles/226576.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Wed, 03 Sep 2008 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/226576.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/226576.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/226576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/226576.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/226576.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;"><span style="font-size: 14pt;">十进制转成十六进制：
<br />
Integer.toHexString(int i)
<br />
十进制转成八进制
<br />
Integer.toOctalString(int i)
<br />
十进制转成二进制
<br />
Integer.toBinaryString(int i)
<br />
<br />
十六进制转成十进制
<br />
Integer.valueOf("FFFF",16).toString()
<br />
八进制转成十进制
<br />
Integer.valueOf("876",8).toString()
<br />
二进制转十进制
<br />
Integer.valueOf("0101",2).toString()<br />
<br />
eg: <br />
<ol start="1">
    <li>package&nbsp;com.ask.test;&nbsp;&nbsp;</li>
    <li>&nbsp;&nbsp;</li>
    <li>public&nbsp;class&nbsp;Test16to2&nbsp;{&nbsp;&nbsp;</li>
    <li>&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;</li>
    <li>&nbsp;&nbsp;String&nbsp;a&nbsp;=&nbsp;Integer.valueOf("E4E2C4",16).toString();&nbsp;&nbsp;</li>
    <li>&nbsp;&nbsp;System.out.println("16进制数据&#8221;E4E2C4&#8220;对应的10进制数据是："&nbsp;+&nbsp;a);&nbsp;&nbsp;</li>
    <li>&nbsp;&nbsp;String&nbsp;b&nbsp;=&nbsp;Integer.toBinaryString(Integer.parseInt(a));&nbsp;&nbsp;</li>
    <li>&nbsp;&nbsp;System.out.println("16进制数据&#8221;E4E2C4&#8220;对应的2进制数据是："&nbsp;+&nbsp;b);&nbsp;&nbsp;</li>
    <li>&nbsp;}&nbsp;&nbsp;</li>
    <li>} <br />
    </li>
</ol>
<br />
</span></span>
<img src ="http://www.blogjava.net/javaex/aggbug/226576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2008-09-03 10:11 <a href="http://www.blogjava.net/javaex/articles/226576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>日期时间格式</title><link>http://www.blogjava.net/javaex/articles/221620.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Wed, 13 Aug 2008 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/221620.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/221620.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/221620.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/221620.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/221620.html</trackback:ping><description><![CDATA[<p>package david.invoke;</p>
<p>import java.text.DateFormat;<br />
import java.text.ParseException;<br />
import java.text.SimpleDateFormat;<br />
import java.util.Calendar;<br />
import java.util.Locale;</p>
<p>public class Test {</p>
<p>&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; * @throws ParseException<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) throws ParseException {<br />
&nbsp;&nbsp;Calendar cal = Calendar.getInstance();<br />
&nbsp;&nbsp;DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss",<br />
&nbsp;&nbsp;&nbsp;&nbsp;Locale.ENGLISH);<br />
&nbsp;&nbsp;System.out.println(dateFormat.format(cal.getTime()));</p>
<p>&nbsp;}</p>
<p>}<br />
</p>
<img src ="http://www.blogjava.net/javaex/aggbug/221620.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2008-08-13 10:09 <a href="http://www.blogjava.net/javaex/articles/221620.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java_bug测试小技巧</title><link>http://www.blogjava.net/javaex/articles/209191.html</link><dc:creator>javaex</dc:creator><author>javaex</author><pubDate>Thu, 19 Jun 2008 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/javaex/articles/209191.html</guid><wfw:comment>http://www.blogjava.net/javaex/comments/209191.html</wfw:comment><comments>http://www.blogjava.net/javaex/articles/209191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaex/comments/commentRss/209191.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaex/services/trackbacks/209191.html</trackback:ping><description><![CDATA[1. 断点跟踪<br />
<br />
2. logs<br />
<br />
3. /work/目录下相应的java及class文件<br />
<br />
4. print<br />
<br />
5. out<br />
<br />
6. alert<br />
<br />
7. 像测cpu, hd等硬件一样, 一块一块测. <br />
<br />
8. 地址栏传参
<img src ="http://www.blogjava.net/javaex/aggbug/209191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaex/" target="_blank">javaex</a> 2008-06-19 16:48 <a href="http://www.blogjava.net/javaex/articles/209191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>