﻿<?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-软体印象</title><link>http://www.blogjava.net/kavinhub/</link><description>Kavin</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 12:35:24 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 12:35:24 GMT</pubDate><ttl>60</ttl><item><title>Oracle</title><link>http://www.blogjava.net/kavinhub/archive/2013/02/04/395112.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Mon, 04 Feb 2013 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2013/02/04/395112.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/395112.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2013/02/04/395112.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/395112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/395112.html</trackback:ping><description><![CDATA[&nbsp; <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><br /><span style="color: #0000FF; ">DECLARE</span><br />&nbsp;&nbsp;v_test_varray&nbsp;VARCHAR_VARRAY_TYPE&nbsp;:<span style="color: #808080; ">=</span>&nbsp;VARCHAR_VARRAY_TYPE(<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">57610</span><span style="color: #FF0000; ">'</span>,<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">61368</span><span style="color: #FF0000; ">'</span>,<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">73111</span><span style="color: #FF0000; ">'</span>,<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">37208</span><span style="color: #FF0000; ">'</span>,<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">57639</span><span style="color: #FF0000; ">'</span>);<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />V_SQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">VARCHAR2</span>(<span style="color: #800000; font-weight: bold; ">32767</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;V_SQL_IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">VARCHAR2</span>(<span style="color: #800000; font-weight: bold; ">32767</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;V_SQL_ROWNUM&nbsp;<span style="font-weight: bold;">VARCHAR2</span>(<span style="color: #800000; font-weight: bold; ">32767</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;V_ORDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">VARCHAR2</span>(<span style="color: #800000; font-weight: bold; ">32767</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;number_index_by_string&nbsp;<span style="color: #0000FF; ">IS</span>&nbsp;<span style="color: #0000FF; ">TABLE</span>&nbsp;<span style="color: #0000FF; ">OF</span>&nbsp;<span style="font-weight: bold;">NUMBER</span>&nbsp;<span style="color: #0000FF; ">INDEX</span>&nbsp;<span style="color: #0000FF; ">BY</span>&nbsp;<span style="font-weight: bold;">VARCHAR2</span>(<span style="color: #800000; font-weight: bold; ">10</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;v_evt_id_list&nbsp;&nbsp;NUMBER_INDEX_BY_STRING;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #0000FF; ">Begin</span><br />&nbsp;&nbsp;<span style="color: #008080; ">--</span><span style="color: #008080; ">orderArray&nbsp;VARCHAR_VARRAY_TYPE%type&nbsp;:=&nbsp;VARCHAR_VARRAY_TYPE('11','22','33','44','55');</span><span style="color: #008080; "><br /></span><br /><span style="color: #008080; ">/*</span><span style="color: #008080; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;FOR&nbsp;i&nbsp;IN&nbsp;v_test_varray.FIRST&nbsp;..&nbsp;v_test_varray.LAST&nbsp;LOOP<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;v_test_varray.EXISTS(i)&nbsp;THEN<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_OUTPUT.put_line(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br />&nbsp;&nbsp;END&nbsp;LOOP;<br />&nbsp;&nbsp;</span><span style="color: #008080; ">*/</span><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;V_ORDER&nbsp;:<span style="color: #808080; ">=</span>&nbsp;Func_LIST_TO_ORDER(v_test_varray,&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">A.COL_NAME</span><span style="color: #FF0000; ">'</span>);<br />&nbsp;&nbsp;DBMS_OUTPUT.put_line(<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">V_ORDER=</span><span style="color: #FF0000; ">'</span><span style="color: #808080; ">||</span>V_ORDER);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;V_SQL&nbsp;:<span style="color: #808080; ">=</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">SELECT&nbsp;*&nbsp;FROM&nbsp;TABLEA&nbsp;A</span><span style="color: #FF0000; ">'</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">&nbsp;WHERE&nbsp;</span><span style="color: #FF0000; ">'</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">''</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">''</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">''</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">''</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;V_SQL&nbsp;:<span style="color: #808080; ">=</span>&nbsp;V_SQL&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">&nbsp;(&nbsp;</span><span style="color: #FF0000; ">'</span>&nbsp;<span style="color: #808080; ">||</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FUNC_LIST_TO_IN_SQL(v_test_varray,<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;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">COL_NAME</span><span style="color: #FF0000; ">'</span>,<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;<span style="color: #FF0000; ">''''</span>)&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">)</span><span style="color: #FF0000; ">'</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;V_SQL&nbsp;:<span style="color: #808080; ">=</span>&nbsp;V_SQL&nbsp;&nbsp;<span style="color: #808080; ">||</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">&nbsp;ORDER&nbsp;by&nbsp;(&nbsp;</span><span style="color: #FF0000; ">'</span>&nbsp;<span style="color: #808080; ">||</span>&nbsp;V_ORDER&nbsp;<span style="color: #808080; ">||</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">)</span><span style="color: #FF0000; ">'</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;DBMS_OUTPUT.put_line(<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">V_SQL=</span><span style="color: #FF0000; ">'</span><span style="color: #808080; ">||</span>V_SQL);<br /><br /><span style="color: #008080; ">--</span><span style="color: #008080; ">-&nbsp;SET&nbsp;v_evt_id_list&nbsp;number_index_by_string</span><span style="color: #008080; "><br /></span><br /><span style="color: #0000FF; ">FOR</span>&nbsp;i&nbsp;<span style="color: #808080; ">IN</span>&nbsp;v_test_varray.FIRST&nbsp;..&nbsp;v_test_varray.LAST<br />&nbsp;&nbsp;LOOP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">IF</span>&nbsp;v_test_varray.<span style="color: #808080; ">EXISTS</span>&nbsp;(i)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">THEN</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_OUTPUT.put_line&nbsp;(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_evt_id_list(v_test_varray(i))&nbsp;:<span style="color: #808080; ">=</span>&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">END</span>&nbsp;<span style="color: #0000FF; ">IF</span>;<br />&nbsp;&nbsp;<span style="color: #0000FF; ">END</span>&nbsp;LOOP;<br />&nbsp;&nbsp;<br /><span style="color: #008080; ">--</span><span style="color: #008080; ">-&nbsp;TEST&nbsp;v_evt_id_list&nbsp;number_index_by_string</span><span style="color: #008080; "><br /></span>&nbsp;&nbsp;<span style="color: #0000FF; ">FOR</span>&nbsp;i&nbsp;<span style="color: #808080; ">IN</span>&nbsp;v_evt_id_list.FIRST&nbsp;..&nbsp;v_evt_id_list.LAST<br />&nbsp;&nbsp;LOOP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">IF</span>&nbsp;v_evt_id_list.<span style="color: #808080; ">EXISTS</span>&nbsp;(i)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">THEN</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_OUTPUT.put_line&nbsp;(i<span style="color: #808080; ">||</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">&nbsp;=&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #808080; ">||</span>v_evt_id_list(i)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">END</span>&nbsp;<span style="color: #0000FF; ">IF</span>;<br />&nbsp;&nbsp;<span style="color: #0000FF; ">END</span>&nbsp;LOOP;<br />&nbsp;&nbsp;<br /><span style="color: #008080; ">--</span><span style="color: #008080; ">&nbsp;GET&nbsp;v_evt_id_list&nbsp;number_index_by_string</span><span style="color: #008080; "><br /></span>&nbsp;&nbsp;DBMS_OUTPUT.put_line&nbsp;(v_evt_id_list(<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">73111</span><span style="color: #FF0000; ">'</span>)&nbsp;);</div><img src ="http://www.blogjava.net/kavinhub/aggbug/395112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2013-02-04 16:47 <a href="http://www.blogjava.net/kavinhub/archive/2013/02/04/395112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Auto complete with Jquery</title><link>http://www.blogjava.net/kavinhub/archive/2012/06/07/380278.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Thu, 07 Jun 2012 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2012/06/07/380278.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/380278.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2012/06/07/380278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/380278.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/380278.html</trackback:ping><description><![CDATA[<p><strong>1. config servlet in web.xml<br /></strong>&nbsp;&lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&lt;servlet-name&gt;addressData&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&lt;servlet-class&gt;com.xxx.webapp.AddressDataAutoCompleteServlet&lt;/servlet-class&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;<br />&nbsp;&nbsp;&nbsp; <br /><strong>2. set autocomplete in JSP</strong><br />$().ready(function() {<br />&nbsp;<br />&nbsp;$("#addressLine1").autocomplete("&lt;%=StrUtils.filterStr(request.getContextPath())%&gt;/servlet/addressData?paramName=addressLine");<br />&nbsp;$("#addressLine2").autocomplete("&lt;%=StrUtils.filterStr(request.getContextPath())%&gt;/servlet/addressData?paramName=addressLine2");<br />&nbsp;$("#addressLine3").autocomplete("&lt;%=StrUtils.filterStr(request.getContextPath())%&gt;/servlet/addressData?paramName=addressLine3");<br />&nbsp;$("#addressCity").autocomplete("&lt;%=StrUtils.filterStr(request.getContextPath())%&gt;/servlet/addressData?paramName=addressCity");<br />&nbsp;$("#addressPostCode").autocomplete("&lt;%=StrUtils.filterStr(request.getContextPath())%&gt;/servlet/addressData?paramName=addressPostCode");<br />&nbsp;$("#firstFocusObj").focus();<br />});<br /><br />&lt;html:text name="" tabindex="9" style="color: grey;" onclick="clearAddressValue(this)" styleId="addressLine1" value='&lt;%=request.getAttribute("postalAddress1") == null ? defalutAddressValue : (String)request.getAttribute("postalAddress1")%&gt;' property="TLContactDetailForm.postalAddress1" size="50" maxlength="50" styleClass="inputText2"&gt;&lt;/html:text&gt;<br /><br />&lt;input type="text" name="TLContactDetailForm.postalAddress1" maxlength="50" size="50" tabindex="9" value="Start typing your address and we will finish it for you" onclick="clearAddressValue(this)" id="addressLine1" style="color: grey;" class="inputText2"&gt;<br /></p>
<p>3. return addresses in java class: AddressDataAutoCompleteServlet.java</p>
<p>&nbsp;</p>
<p>package com.xxxxxx.webapp;</p>
<p>import com.xxxxxx.exception.ServiceException;<br />import com.xxxxxx.util.StrUtils;<br />import com.xxxxxx.webapp.context.ServiceLocator;<br />import com.xxxxxx.util.AddressShow;</p>
<p>import java.io.IOException;<br />import java.io.PrintWriter;</p>
<p>import java.util.ArrayList;<br />import java.util.List;</p>
<p>import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;</p>
<p>import org.apache.log4j.Logger;</p>
<p><br />/**<br />&nbsp;* Servlet implementation class AddressDataAutoCompleteServlet<br />&nbsp;*/<br />public class AddressDataAutoCompleteServlet extends HttpServlet {<br />&nbsp;&nbsp;&nbsp; private static final long serialVersionUID = 1L;<br />&nbsp;&nbsp;&nbsp; public Logger LOG = Logger.getLogger(this.getClass().getName());</p>
<p>&nbsp;&nbsp;&nbsp; /**<br />&nbsp;&nbsp;&nbsp;&nbsp; * @see HttpServlet#HttpServlet()<br />&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp; public AddressDataAutoCompleteServlet() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super();<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; /**<br />&nbsp;&nbsp;&nbsp;&nbsp; * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse<br />&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response)<br />&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp; protected void doGet(HttpServletRequest request,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletResponse response) throws ServletException, IOException {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String paramName = request.getParameter("paramName");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String paramValue = request.getParameter("q");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOG.info(paramName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOG.info(paramValue);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List list = new ArrayList();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list = ServiceLocator.getAddressService()<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; .searchAddressList(paramName, paramValue);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (ServiceException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;LOG.error(e.getMessage(),e);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintWriter t_PW = response.getWriter();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; list.size(); i++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String address = StrUtils.toTitleCase((String) list.get(i));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (paramName.equals("addressLine")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (paramName.equals("addressLine1")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (paramName.equals("addressLine2")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (paramName.equals("addressLine3")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (paramName.equals("addressCity")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (paramName.equals("addressPostCode")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AddressShow.showAddress(t_PW,address);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; /**<br />&nbsp;&nbsp;&nbsp;&nbsp; * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse<br />&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response)<br />&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp; protected void doPost(HttpServletRequest request,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletResponse response) throws ServletException, IOException {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.doGet(request, response);<br />&nbsp;&nbsp;&nbsp; }<br />}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />------<br />AddressShow.java</p>
<p>package com.intl.cigna.util;</p>
<p>import java.io.PrintWriter;</p>
<p>public class AddressShow<br />{<br />&nbsp; public static void showAddress(PrintWriter pw, String input)<br />&nbsp; {<br />&nbsp;&nbsp;&nbsp; pw.write(input + "\n");</p>
<p>&nbsp; }<br />}<br /></p><img src ="http://www.blogjava.net/kavinhub/aggbug/380278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2012-06-07 22:39 <a href="http://www.blogjava.net/kavinhub/archive/2012/06/07/380278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Security Test: Unauthorized access to users data via Browser’s Cach</title><link>http://www.blogjava.net/kavinhub/archive/2011/06/09/352004.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Thu, 09 Jun 2011 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/06/09/352004.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/352004.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/06/09/352004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/352004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/352004.html</trackback:ping><description><![CDATA[<div>  <p><strong><span style="font-size:9.0pt">Unauthorized access to users data via Browser&#8217;s Cach</span></strong></p>  <p><strong><span style="font-size:9.0pt">Solution:</span></strong></p>  </div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">&lt;%</span><span style="color: #000000; ">&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Pragma</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">no-cache</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);&nbsp;<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Cache-Control</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">no-store</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);&nbsp;<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Expires</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">0</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);&nbsp;<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setDateHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Expires</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);&nbsp;<br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; "></span><span style="color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; "></span></div><img src ="http://www.blogjava.net/kavinhub/aggbug/352004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-06-09 17:53 <a href="http://www.blogjava.net/kavinhub/archive/2011/06/09/352004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SSH2中，直接获取SEQUENCE的NEXTVAL ，使用OracleSequenceMaxValueIncrementer</title><link>http://www.blogjava.net/kavinhub/archive/2011/05/06/349674.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Fri, 06 May 2011 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/05/06/349674.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/349674.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/05/06/349674.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/349674.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/349674.html</trackback:ping><description><![CDATA[SSH2中，直接获取SEQUENCE的NEXTVAL<br />
<br />
使用Spring的 类 org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer<br />
<br />
Spring配置文件：<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">bean&nbsp;id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">userDao</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">com.xx.dao.impl.UserDAOImpl</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">property&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">sessionFactory</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;ref</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">sessionFactory</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">/&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">property&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">seqGenerator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;ref</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">seqDispGenerator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;&lt;/</span><span style="color: #000000; ">property</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">bean</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">bean&nbsp;id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">seqDispGenerator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">property&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">dataSource</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;ref</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">dataSource</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;&lt;/</span><span style="color: #000000; ">property</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">property&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">incrementerName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;&lt;</span><span style="color: #000000; ">value</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">SEQ_DISP_ID</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">value</span><span style="color: #000000; ">&gt;&lt;/</span><span style="color: #000000; ">property</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">bean</span><span style="color: #000000; ">&gt;</span></div>
<br />
<br />
<br />
UserDAOImpl.java中引用：<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;OracleSequenceMaxValueIncrementer&nbsp;seqGenerator;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; ">&nbsp;the&nbsp;seqGenerator<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;OracleSequenceMaxValueIncrementer&nbsp;getSeqGenerator()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;seqGenerator;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;seqGenerator&nbsp;the&nbsp;seqGenerator&nbsp;to&nbsp;set<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setSeqGenerator(OracleSequenceMaxValueIncrementer&nbsp;seqGenerator)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.seqGenerator&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;seqGenerator;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span></div>
<br />
UserDAOImpl.java中调用：<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">----------------------&nbsp;this.seqGenerator().nextIntValue=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.seqGenerator.nextIntValue());</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/kavinhub/aggbug/349674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-05-06 14:24 <a href="http://www.blogjava.net/kavinhub/archive/2011/05/06/349674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate ID generator 自定义主键生成器</title><link>http://www.blogjava.net/kavinhub/archive/2011/05/06/349670.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Fri, 06 May 2011 05:42:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/05/06/349670.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/349670.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/05/06/349670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/349670.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/349670.html</trackback:ping><description><![CDATA[Hibernate ID generator 自定义主键生成器<br />
<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;*&nbsp;<br />
&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.ge.hc.eapp.generator;<br />
<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.commons.logging.Log;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.commons.logging.LogFactory;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.HibernateException;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.MappingException;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.dialect.Dialect;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.engine.SessionImplementor;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.id.Configurable;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.id.IdentifierGenerator;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.id.PersistentIdentifierGenerator;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.hibernate.type.Type;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.Serializable;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.sql.Connection;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.sql.PreparedStatement;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.sql.ResultSet;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.sql.SQLException;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.Date;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.HashMap;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.Map;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.Properties;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.Properties;<br />
<br />
</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;*&nbsp;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&nbsp;Kavin<br />
&nbsp;*<br />
&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;DispNoGenerator&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;IdentifierGenerator,&nbsp;Configurable&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;Log&nbsp;log&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;LogFactory.getLog(DispNoGenerator.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">存储最大值的数组的容量</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;MAX_CAPACITY&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">2000</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/*</span><span style="color: #008000; ">&nbsp;同步锁&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;Object&nbsp;lock&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Object();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">存储表存储在数组中的索引值</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;Map&nbsp;map&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;HashMap();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">最大值数组</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">[]&nbsp;seqs&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">[MAX_CAPACITY];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">最大值数组已经使用的容量</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;lastIndex;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">递增步长，默认加1</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;step&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;key;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;sql;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;Connection&nbsp;connection;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;Class&nbsp;returnClass;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Serializable&nbsp;generate(SessionImplementor&nbsp;session,&nbsp;Object&nbsp;object)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;HibernateException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connection&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;session.connection();<br />
<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;seq&nbsp;=&nbsp;-1;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">找到索引值<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;index&nbsp;=&nbsp;findIndex();<br />
<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">把最大值加1<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seqs[index]&nbsp;=&nbsp;seqs[index]&nbsp;+&nbsp;step;<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; "><br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seq&nbsp;=&nbsp;seqs[index];</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;strGenerateId&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">this.sql=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;t_SeqNo&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getSeqValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">t_SeqNo=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">t_SeqNo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">得到流水号,是自己写的工具类生成的.形式为000x</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;seqStr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;String.valueOf(t_SeqNo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">JspFormate.currentFormateORM(seq);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">得到yymmdd,是自己写的方法工具类生成的yymmdd</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;preDate&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">20110506</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">得到hhmmss,是自己写的工具类获取的hhmmss<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">String&nbsp;preHour&nbsp;=&nbsp;JspFormate.dateFormateOnlyHHMMSSORM(new&nbsp;Date());</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;preHour&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">1035</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strGenerateId&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;preDate&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;preHour&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;seqStr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(SQLException&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.error(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;strGenerateId;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;找到表中自动增长字段存储在数组中的索引值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; ">&nbsp;索引值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;findIndex()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;index&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">首先中缓存中取出索引值</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;integer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(Integer)&nbsp;map.get(key);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">如果没有找到就从数据库中读出最大值并进行cache</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;integer)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">double&nbsp;check&nbsp;lock</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">synchronized</span><span style="color: #000000; ">&nbsp;(lock)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(Integer)&nbsp;map.get(key);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;integer)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&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;&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getSeqValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(SQLException&nbsp;e)&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;&nbsp;log.error(e);<br />
&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;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Long(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">).longValue();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Integer(lastIndex</span><span style="color: #000000; ">++</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seqs[integer.intValue()]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;maxvalue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.put(key,&nbsp;integer);<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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;integer.intValue();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;index;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;configure(Type&nbsp;type,&nbsp;Properties&nbsp;params,&nbsp;Dialect&nbsp;d)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;MappingException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;取出table参数</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;table&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">table</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(table&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(PersistentIdentifierGenerator.TABLE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">取出column参数</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;column&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">column</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(column&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(PersistentIdentifierGenerator.PK);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">表的sehcma参数</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;schema&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(PersistentIdentifierGenerator.SCHEMA);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnClass&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;type.getReturnedClass();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">取出step参数</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;stepvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;params.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">step</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;((</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;stepvalue)&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">""</span><span style="color: #000000; ">.equals(stepvalue.trim()))&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;step&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Integer.parseInt(stepvalue);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.error(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">构造存储在Map中的索引值的key&nbsp;name</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;table&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">_$_</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;column;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">根据参数构造取最大值的SQL</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">select&nbsp;SEQ_COMPANY_ID.nextval&nbsp;from&nbsp;dual</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;取指定SEQUENCE的值，不存在记录返回0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; ">&nbsp;Sequence最大值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;SQLException&nbsp;if&nbsp;sql&nbsp;error&nbsp;occurs.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;getSeqValue()&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;SQLException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PreparedStatement&nbsp;st&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;connection.prepareStatement(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">============================================</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;rs&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;st.executeQuery();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(rs.next())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;rs.getLong(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">finally</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(rs&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;maxvalue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;取指定表中id字段的最大值，不存在记录返回0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; ">&nbsp;最大值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;SQLException&nbsp;if&nbsp;sql&nbsp;error&nbsp;occurs.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;getMaxvalue()&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;SQLException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PreparedStatement&nbsp;st&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;connection.prepareStatement(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">============================================</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;rs&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;st.executeQuery();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(rs.next())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxvalue&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;rs.getLong(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">finally</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(rs&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;maxvalue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<br />
Hibernate 配置文件<br />
<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">id&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">userId</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java.lang.String</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">column&nbsp;name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">USER_ID</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">/&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">generator&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">com.xx.generator.DispNoGenerator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">/&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">id</span><span style="color: #000000; ">&gt;</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/kavinhub/aggbug/349670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-05-06 13:42 <a href="http://www.blogjava.net/kavinhub/archive/2011/05/06/349670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2里面 s:textfield标签 Date类型的格式化</title><link>http://www.blogjava.net/kavinhub/archive/2011/05/05/349578.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Thu, 05 May 2011 04:33:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/05/05/349578.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/349578.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/05/05/349578.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/349578.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/349578.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Normal07.8 pt02falsefalsefalseEN-USZH-CNX-NONE...&nbsp;&nbsp;<a href='http://www.blogjava.net/kavinhub/archive/2011/05/05/349578.html'>阅读全文</a><img src ="http://www.blogjava.net/kavinhub/aggbug/349578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-05-05 12:33 <a href="http://www.blogjava.net/kavinhub/archive/2011/05/05/349578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何运行打开windows下面的system系统属性</title><link>http://www.blogjava.net/kavinhub/archive/2011/04/19/348561.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Tue, 19 Apr 2011 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/04/19/348561.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/348561.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/04/19/348561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/348561.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/348561.html</trackback:ping><description><![CDATA[&nbsp;
<p><strong>Description</strong>:.</p>
<p>To bring up System Properties:</p>
<p style="text-indent: -18pt; margin-left: 18pt" class="MsoListParagraph">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Click Start and then Control Panel. From the Control Panel, double click System.</p>
<p style="text-indent: -18pt; margin-left: 18pt" class="MsoListParagraph">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;Another way to bring up this box is to right click the My Computer on your desktop. From the menu, select Properties.</p>
<p class="MsoNormal"><strong>Solution:</strong></p>
<p style="text-indent: -18pt; margin-left: 18pt" class="MsoListParagraph">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">参考</span>http://www.passcape.com/windows_run_commands</p>
<p style="text-indent: 0cm; margin-left: 18pt" class="MsoListParagraph"><span style="font-family: 宋体">除了这两种方式外，还有一种直接运行</span>system32<span style="font-family: 宋体">下面的命令文件方式</span></p>
<p style="text-indent: 0cm; margin-left: 18pt" class="MsoListParagraph"><strong><span style="font-family: 宋体">运行</span>C:"WINDOWS"system32 </strong><strong><span style="font-family: 宋体">下面的</span>sysdm.cpl</strong><strong><span style="font-family: 宋体">。</span></strong></p>
 <img src ="http://www.blogjava.net/kavinhub/aggbug/348561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-04-19 11:40 <a href="http://www.blogjava.net/kavinhub/archive/2011/04/19/348561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>注解@Override 报错</title><link>http://www.blogjava.net/kavinhub/archive/2011/04/18/348511.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Mon, 18 Apr 2011 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/04/18/348511.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/348511.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/04/18/348511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/348511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/348511.html</trackback:ping><description><![CDATA[&nbsp;
<p><strong>Description</strong>: @Override<span style="font-family: 宋体">该标记是为了增强程序在编译时候的检查，</span>JDK1.5<span style="font-family: 宋体">下，如果该方法并不是一个覆盖父类的方法，在编译时编译器就会报告错误。</span></p>
<p class="MsoNormal"><strong>Analisys:</strong></p>
<p>&nbsp;</p>
<span id="Codehighlighter1_80_129_Open_Text">
<p></span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_15_49_Open_Image" onclick="this.style.display='none'; Codehighlighter1_15_49_Open_Text.style.display='none'; Codehighlighter1_15_49_Closed_Image.style.display='inline'; Codehighlighter1_15_49_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_15_49_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_15_49_Closed_Text.style.display='none'; Codehighlighter1_15_49_Open_Image.style.display='inline'; Codehighlighter1_15_49_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;A&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_15_49_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_15_49_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_44_47_Open_Image" onclick="this.style.display='none'; Codehighlighter1_44_47_Open_Text.style.display='none'; Codehighlighter1_44_47_Closed_Image.style.display='inline'; Codehighlighter1_44_47_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_44_47_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_44_47_Closed_Text.style.display='none'; Codehighlighter1_44_47_Open_Image.style.display='inline'; Codehighlighter1_44_47_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;method(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_44_47_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_44_47_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_77_214_Open_Image" onclick="this.style.display='none'; Codehighlighter1_77_214_Open_Text.style.display='none'; Codehighlighter1_77_214_Closed_Image.style.display='inline'; Codehighlighter1_77_214_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_77_214_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_77_214_Closed_Text.style.display='none'; Codehighlighter1_77_214_Open_Image.style.display='inline'; Codehighlighter1_77_214_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;B&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;A&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_77_214_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_77_214_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;@Override<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_117_120_Open_Image" onclick="this.style.display='none'; Codehighlighter1_117_120_Open_Text.style.display='none'; Codehighlighter1_117_120_Closed_Image.style.display='inline'; Codehighlighter1_117_120_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_117_120_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_117_120_Closed_Text.style.display='none'; Codehighlighter1_117_120_Open_Image.style.display='inline'; Codehighlighter1_117_120_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;method(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_117_120_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_117_120_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">如果如下定义，就会在编译时出现一个错误，因为不是覆盖父类的方法</span><span style="color: #008000"><br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">@Override<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_208_211_Open_Image" onclick="this.style.display='none'; Codehighlighter1_208_211_Open_Text.style.display='none'; Codehighlighter1_208_211_Closed_Image.style.display='inline'; Codehighlighter1_208_211_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_208_211_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_208_211_Closed_Text.style.display='none'; Codehighlighter1_208_211_Open_Image.style.display='inline'; Codehighlighter1_208_211_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;method(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,&nbsp;String&nbsp;p_Str)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_208_211_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_208_211_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p><br />
<strong>JDK1.6<span style="font-family: 宋体">正常，支持对接口的实现的</span>@Override</strong></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_20_57_Open_Image" onclick="this.style.display='none'; Codehighlighter1_20_57_Open_Text.style.display='none'; Codehighlighter1_20_57_Closed_Image.style.display='inline'; Codehighlighter1_20_57_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_20_57_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_20_57_Closed_Text.style.display='none'; Codehighlighter1_20_57_Open_Image.style.display='inline'; Codehighlighter1_20_57_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;iA&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_20_57_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_20_57_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_50_54_Open_Image" onclick="this.style.display='none'; Codehighlighter1_50_54_Open_Text.style.display='none'; Codehighlighter1_50_54_Closed_Image.style.display='inline'; Codehighlighter1_50_54_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_50_54_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_50_54_Closed_Text.style.display='none'; Codehighlighter1_50_54_Open_Image.style.display='inline'; Codehighlighter1_50_54_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;method(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_50_54_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_50_54_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_89_170_Open_Image" onclick="this.style.display='none'; Codehighlighter1_89_170_Open_Text.style.display='none'; Codehighlighter1_89_170_Closed_Image.style.display='inline'; Codehighlighter1_89_170_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_89_170_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_89_170_Closed_Text.style.display='none'; Codehighlighter1_89_170_Open_Image.style.display='inline'; Codehighlighter1_89_170_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;B&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;iA&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_89_170_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_89_170_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">JDK1.5下会报错，JDK1.6下可以</span><span style="color: #008000"><br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;@Override<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_163_167_Open_Image" onclick="this.style.display='none'; Codehighlighter1_163_167_Open_Text.style.display='none'; Codehighlighter1_163_167_Closed_Image.style.display='inline'; Codehighlighter1_163_167_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_163_167_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_163_167_Closed_Text.style.display='none'; Codehighlighter1_163_167_Open_Image.style.display='inline'; Codehighlighter1_163_167_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;method(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_163_167_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_163_167_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
 <img src ="http://www.blogjava.net/kavinhub/aggbug/348511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-04-18 17:32 <a href="http://www.blogjava.net/kavinhub/archive/2011/04/18/348511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装Oracle Client 9/10后,Eclipse 启动时的JDK/JVM问题</title><link>http://www.blogjava.net/kavinhub/archive/2011/04/15/348335.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Fri, 15 Apr 2011 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/04/15/348335.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/348335.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/04/15/348335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/348335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/348335.html</trackback:ping><description><![CDATA[&nbsp;
<p><strong>Description</strong>: <br />
Incompatible JVM- Version 1.4.2_03 of the JVM is not suitable for th is product. Version:1.5 or greater is required.<br />
<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/kavinhub/snap024.jpg" /><br />
<br />
</p>
<p><strong>Analisys:</strong></p>
<p><span style="font-family: 宋体">安装</span>Oracle Client 9/10<span style="font-family: 宋体">后</span>, Path <span style="font-family: 宋体">被设置为</span>Oracle<span style="font-family: 宋体">自带的</span>JDK 1.4, <span style="font-family: 宋体">启动高版本</span>Eclipse(eclipse-jee-helios-SR1-win32.exe)<span style="font-family: 宋体">时</span>,<span style="font-family: 宋体">　就默认用</span>Oracle<span style="font-family: 宋体">自带的</span>JDK 1.4<span style="font-family: 宋体">，这样就会有问题。</span></p>
<p><strong>Solution:</strong></p>
<p><strong><span style="font-family: 宋体">多种解决方案</span></strong></p>
<p style="text-indent: -18pt; margin-left: 18pt" class="MsoListParagraph">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">修改环境变量：　</span>Path = %JAVA_HOME%"bin;%PATH%&nbsp; <br />
权限的问题，我没有选择这个解决方案。<br />
</p>
<p style="text-indent: -18pt; margin-left: 18pt" class="MsoListParagraph">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">修改</span>Eclipse<span style="font-family: 宋体">启动项：修改</span>Eclipse<span style="font-family: 宋体">快捷方式的属性里面的目标：　<br />
</span>D:"tool"eclipse-jee-helios-SR1-win32"eclipse"eclipse.exe<span style="font-family: 宋体">　</span><strong><span style="color: red">-vm "C:"Program Files"Java"jdk1.5.0_05"bin"javaw.exe"</span></strong></p>
<img src ="http://www.blogjava.net/kavinhub/aggbug/348335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-04-15 09:53 <a href="http://www.blogjava.net/kavinhub/archive/2011/04/15/348335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 报错: class Implement Interface-&gt; @Override function -&gt; must override a superclass </title><link>http://www.blogjava.net/kavinhub/archive/2011/04/07/347784.html</link><dc:creator>Kavin</dc:creator><author>Kavin</author><pubDate>Thu, 07 Apr 2011 06:30:00 GMT</pubDate><guid>http://www.blogjava.net/kavinhub/archive/2011/04/07/347784.html</guid><wfw:comment>http://www.blogjava.net/kavinhub/comments/347784.html</wfw:comment><comments>http://www.blogjava.net/kavinhub/archive/2011/04/07/347784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kavinhub/comments/commentRss/347784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kavinhub/services/trackbacks/347784.html</trackback:ping><description><![CDATA[&nbsp;
<p style="text-align: left; margin-bottom: 12pt" class="MsoNormal" align="left"><strong><span style="font-family: 宋体; font-size: 12pt">代码:</span></strong><span style="font-family: 宋体; font-size: 12pt"><br />
Class XX implements InterfaceYY{<br />
&nbsp;&nbsp;&nbsp; @override<br />
&nbsp;&nbsp;&nbsp; function funcXX(){<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
</span></p>
<p style="text-align: left" class="MsoNormal" align="left"><span style="font-family: 宋体; font-size: 12pt">Eclipse</span><span style="font-family: 宋体; font-size: 12pt">报错:&nbsp;&nbsp; must override a superclass implements <br />
<br />
<strong>Analisys:<br />
</strong>1. @override 可以针对 Interface; 不过最好用另外一个annotation: @implement<br />
2. java5 java6 支持泛型<br />
3. eclipse 里面的compile版本是JDK 5<br />
<br />
<strong>Solution:<br />
</strong>eclipse 里面的compile版本是JDK 5 -&gt;&nbsp;改成&nbsp;JDK6</span></p>
 <img src ="http://www.blogjava.net/kavinhub/aggbug/347784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kavinhub/" target="_blank">Kavin</a> 2011-04-07 14:30 <a href="http://www.blogjava.net/kavinhub/archive/2011/04/07/347784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>