﻿<?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-Bobby-随笔分类-BaseUtil</title><link>http://www.blogjava.net/bobby/category/41890.html</link><description>幸福的人创造幸福的世界！</description><language>zh-cn</language><lastBuildDate>Mon, 28 Sep 2009 02:48:28 GMT</lastBuildDate><pubDate>Mon, 28 Sep 2009 02:48:28 GMT</pubDate><ttl>60</ttl><item><title>SSH2整合通用DAO基类,暂不含分页</title><link>http://www.blogjava.net/bobby/archive/2009/09/28/296737.html</link><dc:creator>bobby</dc:creator><author>bobby</author><pubDate>Mon, 28 Sep 2009 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/bobby/archive/2009/09/28/296737.html</guid><wfw:comment>http://www.blogjava.net/bobby/comments/296737.html</wfw:comment><comments>http://www.blogjava.net/bobby/archive/2009/09/28/296737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bobby/comments/commentRss/296737.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bobby/services/trackbacks/296737.html</trackback:ping><description><![CDATA[<p>&#160; &#160;目前正在做SSH2整合项目，写了一个DAO基类，发上来大家提提意见，看能不能在改进一下。</p>
<p>
<div style="font-size: 13px; border-top-color: #cccccc; border-left-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; background-color: #eeeeee"><span style="color: #008080; ">&#160;1</span>&#160;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;2</span>&#160;<span style="color: #008000; ">&#160;*&#160;@(#)IBaseDAO.java&#160;2009-9-14&#160;下午03:05:59<br />
</span><span style="color: #008080; ">&#160;3</span>&#160;<span style="color: #008000">&#160;*&#160;Copyright&#160;2009&#160;Bobby_Guo,&#160;Inc.&#160;All&#160;rights&#160;reserved<br />
</span><span style="color: #008080; ">&#160;4</span>&#160;<span style="color: #008000; ">&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;5</span>&#160;<span style="color: #0000FF; ">package</span><span style="color: #000000; ">&#160;cn.commonframework.util;<br />
</span><span style="color: #008080; ">&#160;6</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;7</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;java.io.Serializable;<br />
</span><span style="color: #008080; ">&#160;8</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;java.util.List;<br />
</span><span style="color: #008080; ">&#160;9</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">10</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.hibernate.criterion.Criterion;<br />
</span><span style="color: #008080; ">11</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">12</span>&#160;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">13</span>&#160;<span style="color: #008000; ">&#160;*&#160;@description:公用DAO接口，包含基本的增、删、改、查操作.<br />
</span><span style="color: #008080; ">14</span>&#160;<span style="color: #008000; ">&#160;*&#160;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&#160;&#160;:Bobby_Guo&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">15</span>&#160;<span style="color: #008000; ">&#160;*&#160;</span><span style="color: #808080; ">@version</span><span style="color: #008000; ">&#160;:1.0&#160;&#160;&#160;&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">16</span>&#160;<span style="color: #008000; ">&#160;*&#160;@date&#160;&#160;&#160;&#160;:2009-9-14&#160;下午03:12:53&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">17</span>&#160;<span style="color: #008000; ">&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;&lt;T&gt;<br />
</span><span style="color: #008080; ">18</span>&#160;<span style="color: #008000; ">&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">19</span>&#160;<span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">interface</span><span style="color: #000000; ">&#160;IBaseDAO</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;{<br />
</span><span style="color: #008080; ">20</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">21</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;保存一个实体对象<br />
</span><span style="color: #008080; ">22</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;t<br />
</span><span style="color: #008080; ">23</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">24</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;save(T&#160;t);<br />
</span><span style="color: #008080; ">25</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">26</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;更新一个实体对象<br />
</span><span style="color: #008080; ">27</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;t<br />
</span><span style="color: #008080; ">28</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">29</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;update(T&#160;t);<br />
</span><span style="color: #008080; ">30</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">31</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;批量更新<br />
</span><span style="color: #008080; ">32</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;hql<br />
</span><span style="color: #008080; ">33</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;o<br />
</span><span style="color: #008080; ">34</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">35</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">36</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&#160;batchUpdate(String&#160;hql,Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&#160;o);<br />
</span><span style="color: #008080; ">37</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">38</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;删除一个实体对象<br />
</span><span style="color: #008080; ">39</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;t<br />
</span><span style="color: #008080; ">40</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">41</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;delete(T&#160;t);<br />
</span><span style="color: #008080; ">42</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">43</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;根据主键查找实体对象<br />
</span><span style="color: #008080; ">44</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;id<br />
</span><span style="color: #008080; ">45</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">46</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">47</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;T&#160;findById(Serializable&#160;id);<br />
</span><span style="color: #008080; ">48</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">49</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;查找所有实体对象<br />
</span><span style="color: #008080; ">50</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">51</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">52</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAll();<br />
</span><span style="color: #008080; ">53</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">54</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;HQL查询<br />
</span><span style="color: #008080; ">55</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;hql<br />
</span><span style="color: #008080; ">56</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">57</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">58</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByHql(String&#160;hql);<br />
</span><span style="color: #008080; ">59</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">60</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;QBC查询<br />
</span><span style="color: #008080; ">61</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;criterion<br />
</span><span style="color: #008080; ">62</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">63</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">64</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByCriteria(Criterion<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&#160;criterion);<br />
</span><span style="color: #008080; ">65</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">66</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;QBE查询<br />
</span><span style="color: #008080; ">67</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">68</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">69</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByExample(T&#160;t,</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&#160;enableLike,String<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&#160;properties);<br />
</span><span style="color: #008080; ">70</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">71</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;默认的QBE查询<br />
</span><span style="color: #008080; ">72</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;t<br />
</span><span style="color: #008080; ">73</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">74</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">75</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByExample(T&#160;t);<br />
</span><span style="color: #008080; ">76</span>&#160;<span style="color: #000000; ">}<br />
</span><span style="color: #008080; ">77</span>&#160;</div>
<p>下面是BaseDAO类：</p>
<p style>
<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"><img id="Code_Closed_Image_100523" onclick="this.style.display='none'; Code_Closed_Text_100523.style.display='none'; Code_Open_Image_100523.style.display='inline'; Code_Open_Text_100523.style.display='inline';" height="16" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_100523" style="display: none" onclick="this.style.display='none'; Code_Open_Text_100523.style.display='none'; Code_Closed_Image_100523.style.display='inline'; Code_Closed_Text_100523.style.display='inline';" height="16" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span id="Code_Closed_Text_100523" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">BaseDAO.java</span><span id="Code_Open_Text_100523" style="display: none"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">&#160;&#160;1</span>&#160;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;&#160;2</span>&#160;<span style="color: #008000; ">&#160;*&#160;@(#)BaseDAO.java&#160;2009-9-14&#160;下午03:26:46<br />
</span><span style="color: #008080; ">&#160;&#160;3</span>&#160;<span style="color: #008000; ">&#160;*&#160;Copyright&#160;2009&#160;Bobby_Guo,&#160;Inc.&#160;All&#160;rights&#160;reserved<br />
</span><span style="color: #008080; ">&#160;&#160;4</span>&#160;<span style="color: #008000; ">&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;&#160;5</span>&#160;<span style="color: #0000FF; ">package</span><span style="color: #000000; ">&#160;cn.commonframework.util;<br />
</span><span style="color: #008080; ">&#160;&#160;6</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;&#160;7</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;java.io.Serializable;<br />
</span><span style="color: #008080; ">&#160;&#160;8</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;java.util.List;<br />
</span><span style="color: #008080; ">&#160;&#160;9</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.hibernate.criterion.Criterion;<br />
</span><span style="color: #008080; ">&#160;10</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.hibernate.criterion.DetachedCriteria;<br />
</span><span style="color: #008080; ">&#160;11</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.hibernate.criterion.Example;<br />
</span><span style="color: #008080; ">&#160;12</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.hibernate.criterion.MatchMode;<br />
</span><span style="color: #008080; ">&#160;13</span>&#160;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&#160;org.springframework.orm.hibernate3.support.HibernateDaoSupport;<br />
</span><span style="color: #008080; ">&#160;14</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;15</span>&#160;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;16</span>&#160;<span style="color: #008000; ">&#160;*&#160;DAO基类，实现公用DAO接口，提供基本的数据库操作。采用泛型设计，增强代码的复用性。<br />
</span><span style="color: #008080; ">&#160;17</span>&#160;<span style="color: #008000; ">&#160;*&#160;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&#160;&#160;:Bobby_Guo&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">&#160;18</span>&#160;<span style="color: #008000; ">&#160;*&#160;</span><span style="color: #808080; ">@version</span><span style="color: #008000; ">&#160;:1.0&#160;&#160;&#160;&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">&#160;19</span>&#160;<span style="color: #008000; ">&#160;*&#160;@date&#160;&#160;&#160;&#160;:2009-9-14&#160;下午03:26:46&#160;&lt;br&gt;<br />
</span><span style="color: #008080; ">&#160;20</span>&#160;<span style="color: #008000; ">&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;21</span>&#160;<span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&#160;BaseDAO</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">extends</span><span style="color: #000000; ">&#160;HibernateDaoSupport&#160;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&#160;IBaseDAO</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;{<br />
</span><span style="color: #008080; ">&#160;22</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;23</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;24</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;声明一个实体类<br />
</span><span style="color: #008080; ">&#160;25</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;26</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&#160;Class</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;entityClass;<br />
</span><span style="color: #008080; ">&#160;27</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;28</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;无参构造方法<br />
</span><span style="color: #008080; ">&#160;29</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;30</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;BaseDAO(){<br />
</span><span style="color: #008080; ">&#160;31</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;32</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;33</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;34</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;构造方法&#160;初始化实体类<br />
</span><span style="color: #008080; ">&#160;35</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&#160;entityClass<br />
</span><span style="color: #008080; ">&#160;36</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;37</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;BaseDAO(Class</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;entityClass){<br />
</span><span style="color: #008080; ">&#160;38</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.entityClass&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;entityClass;<br />
</span><span style="color: #008080; ">&#160;39</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;40</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;41</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;删除一个实体对象。<br />
</span><span style="color: #008080; ">&#160;42</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;43</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;delete(T&#160;t)&#160;{<br />
</span><span style="color: #008080; ">&#160;44</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().delete(t);<br />
</span><span style="color: #008080; ">&#160;45</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;46</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;47</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;48</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;根据主键检索实体对象<br />
</span><span style="color: #008080; ">&#160;49</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;50</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">unchecked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">&#160;51</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;T&#160;findById(Serializable&#160;id)&#160;{<br />
</span><span style="color: #008080; ">&#160;52</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;(T)&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().load(entityClass,&#160;id);<br />
</span><span style="color: #008080; ">&#160;53</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;54</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;55</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;查找所有记录。<br />
</span><span style="color: #008080; ">&#160;56</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;57</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">unchecked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">&#160;58</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAll()&#160;{<br />
</span><span style="color: #008080; ">&#160;59</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DetachedCriteria&#160;criteria&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;&#160;DetachedCriteria.forClass(entityClass);<br />
</span><span style="color: #008080; ">&#160;60</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;61</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().findByCriteria(criteria);<br />
</span><span style="color: #008080; ">&#160;62</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;63</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;64</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;保存实体对象<br />
</span><span style="color: #008080; ">&#160;65</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;66</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;save(T&#160;t)&#160;{<br />
</span><span style="color: #008080; ">&#160;67</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;68</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().save(t);<br />
</span><span style="color: #008080; ">&#160;69</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;70</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;71</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;72</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;73</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;更新实体对象<br />
</span><span style="color: #008080; ">&#160;74</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;75</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&#160;update(T&#160;t)&#160;{<br />
</span><span style="color: #008080; ">&#160;76</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().update(t);<br />
</span><span style="color: #008080; ">&#160;77</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;78</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;79</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;80</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;批量更新<br />
</span><span style="color: #008080; ">&#160;81</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;82</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&#160;batchUpdate(String&#160;hql,Object<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />&#160;o){<br />
</span><span style="color: #008080; ">&#160;83</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">&#160;84</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().bulkUpdate(hql,&#160;o);<br />
</span><span style="color: #008080; ">&#160;85</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;86</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;87</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;QBC查询<br />
</span><span style="color: #008080; ">&#160;88</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&#160;89</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">unchecked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">&#160;90</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByCriteria(Criterion<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />&#160;criterion)&#160;{<br />
</span><span style="color: #008080; ">&#160;91</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DetachedCriteria&#160;criteria&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;&#160;DetachedCriteria.forClass(entityClass);<br />
</span><span style="color: #008080; ">&#160;92</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(Criterion&#160;c&#160;:&#160;criterion){<br />
</span><span style="color: #008080; ">&#160;93</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;criteria.add(c);<br />
</span><span style="color: #008080; ">&#160;94</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;95</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().findByCriteria(criteria);<br />
</span><span style="color: #008080; ">&#160;96</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">&#160;97</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&#160;98</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;QBE查询&#160;enableLike表示是否为模糊查询&#160;properties为模版对象中要除去的属性名称<br />
</span><span style="color: #008080; ">&#160;99</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">100</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByExample(T&#160;t,&#160;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&#160;enableLike,<br />
</span><span style="color: #008080; ">101</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;String<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />&#160;properties)&#160;{<br />
</span><span style="color: #008080; ">102</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Example&#160;example&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />
</span><span style="color: #008080; ">103</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(enableLike){<br />
</span><span style="color: #008080; ">104</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;example&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;Example.create(t).ignoreCase().enableLike(MatchMode.ANYWHERE).excludeZeroes();<br />
</span><span style="color: #008080; ">105</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />
</span><span style="color: #008080; ">106</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;example&#160;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&#160;Example.create(t);<br />
</span><span style="color: #008080; ">107</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">108</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(String&#160;s&#160;:&#160;properties){<br />
</span><span style="color: #008080; ">109</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;example.excludeProperty(s);<br />
</span><span style="color: #008080; ">110</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">111</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getAllByCriteria(example);<br />
</span><span style="color: #008080; ">112</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">113</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">114</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;HQL查询<br />
</span><span style="color: #008080; ">115</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">116</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">unchecked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">117</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByHql(String&#160;hql)&#160;{<br />
</span><span style="color: #008080; ">118</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080; ">119</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().find(hql);<br />
</span><span style="color: #008080; ">120</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">121</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">122</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;*&#160;QBE查询&#160;精确查询<br />
</span><span style="color: #008080; ">123</span>&#160;<span style="color: #008000; ">&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">124</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;@SuppressWarnings(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">unchecked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">125</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&#160;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&#160;getAllByExample(T&#160;t){<br />
</span><span style="color: #008080; ">126</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&#160;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().findByExample(t);<br />
</span><span style="color: #008080; ">127</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">128</span>&#160;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">129</span>&#160;<span style="color: #000000; ">}<br />
</span><span style="color: #008080; ">130</span></span></div>
</p>
<img src ="http://www.blogjava.net/bobby/aggbug/296737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bobby/" target="_blank">bobby</a> 2009-09-28 10:28 <a href="http://www.blogjava.net/bobby/archive/2009/09/28/296737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>