⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manipulatingdata.html

📁 图象处理
💻 HTML
📖 第 1 页 / 共 5 页
字号:
    "from Customer customer, " +    "Product product " +    "join customer.purchases purchase " +    "where product = purchase.product");</pre><p>            &#22914;&#26524;&#23545;&#19978;&#38754;&#30340;&#26597;&#35810;&#20351;&#29992;<tt class="literal">find()</tt>&#65292;&#20250;&#36820;&#22238;&#19968;&#20010;&#38750;&#24120;&#22823;&#30340;JDBC<tt class="literal">ResultSet</tt>,&#21253;&#21547;&#24456;&#22810;&#37325;&#22797;&#30340;&#30456;&#21516;&#25968;&#25454;&#12290;        </p><p>            &#26377;&#26102;&#20505;Hibernate&#26597;&#35810;&#20250;&#27599;&#34892;&#36820;&#22238;&#22810;&#31181;&#23545;&#35937;&#65292;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#27599;&#34892;&#20250;&#36820;&#22238;&#19968;&#20010;&#25968;&#32452;&#65292;&#21253;&#21547;&#22810;&#20010;&#23545;&#35937;&#20803;&#32032;&#65306;        </p><pre class="programlisting">Iterator foosAndBars = sess.iterate(    "select foo, bar from Foo foo, Bar bar " +    "where bar.date = foo.date");while ( foosAndBars.hasNext() ) {    Object[] tuple = (Object[]) foosAndBars.next();    Foo foo = tuple[0]; Bar bar = tuple[1];    ....}</pre><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="manipulatingdata-scalarqueries"></a>9.3.1.&nbsp;&#26631;&#37327;&#26597;&#35810;&#65288;Scalar query&#65289;</h3></div></div><div></div></div><p>            &#26597;&#35810;&#21487;&#20197;&#22312;<tt class="literal">select</tt>&#23376;&#21477;&#20013;&#25351;&#23450;&#31867;&#30340;&#23646;&#24615;&#12290;&#29978;&#33267;&#21487;&#20197;&#35843;&#29992;SQL&#30340;&#32479;&#35745;&#20989;&#25968;&#12290;&#23646;&#24615;&#25110;&#32773;&#32479;&#35745;&#20540;&#34987;&#31216;&#20026;&#8220;&#26631;&#37327;(scalar)&#8221;&#32467;&#26524;&#12290;        </p><pre class="programlisting">Iterator results = sess.iterate(        "select cat.color, min(cat.birthdate), count(cat) from Cat cat " +        "group by cat.color");while ( results.hasNext() ) {    Object[] row = results.next();    Color type = (Color) row[0];    Date oldest = (Date) row[1];    Integer count = (Integer) row[2];    .....}</pre><pre class="programlisting">Iterator iter = sess.iterate(    "select cat.type, cat.birthdate, cat.name from DomesticCat cat");</pre><pre class="programlisting">List list = sess.find(    "select cat, cat.mate.name from DomesticCat cat");</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="manipulatingdata-queryinterface"></a>9.3.2.&nbsp;&#26597;&#35810;&#25509;&#21475;&#65288;Query interface&#65289;</h3></div></div><div></div></div><p>            &#22914;&#26524;&#20320;&#38656;&#35201;&#20026;&#20320;&#30340;&#32467;&#26524;&#38598;&#35774;&#32622;&#36793;&#30028;&#65288;&#20320;&#38656;&#35201;&#33719;&#21462;&#30340;&#26368;&#22823;&#34892;&#25968;&#19982;/&#25110;&#20320;&#24076;&#26395;&#33719;&#21462;&#30340;&#31532;&#19968;&#34892;&#65289;&#65292;&#20320;&#24212;&#35813;&#24471;&#21040;&#19968;&#20010;<tt class="literal">net.sf.hibernate.Query</tt>&#30340;&#23454;&#20363;&#65306;        </p><pre class="programlisting">Query q = sess.createQuery("from DomesticCat cat");q.setFirstResult(20);q.setMaxResults(10);List cats = q.list();</pre><p>            &#20320;&#29978;&#33267;&#21487;&#20197;&#22312;&#26144;&#23556;&#25991;&#26723;&#20013;&#23450;&#20041;&#21629;&#21517;&#26597;&#35810;&#12290;&#65288;&#35760;&#24471;&#29992;&#19968;&#20010;<tt class="literal">CDATA</tt>&#22359;&#25226;&#20320;&#30340;&#26597;&#35810;&#21253;&#21547;&#36215;&#26469;&#65292;&#21542;&#21017;&#22312;&#20998;&#26512;&#30340;&#26102;&#20505;&#21487;&#33021;&#24341;&#36215;&#35823;&#35299;&#12290;&#65289;        </p><pre class="programlisting">&lt;query name="eg.DomesticCat.by.name.and.minimum.weight"&gt;&lt;![CDATA[    from eg.DomesticCat as cat        where cat.name = ?        and cat.weight &gt; ?] ]&gt;&lt;/query&gt;</pre><pre class="programlisting">Query q = sess.getNamedQuery("eg.DomesticCat.by.name.and.minimum.weight");q.setString(0, name);q.setInt(1, minWeight);List cats = q.list();</pre><p>            &#26597;&#35810;&#30028;&#38754;&#25903;&#25345;&#20351;&#29992;&#21629;&#21517;&#21442;&#25968;&#12290;&#21629;&#21517;&#21442;&#25968;&#29992;<tt class="literal">:name</tt>&#30340;&#24418;&#24335;&#22312;&#26597;&#35810;&#23383;&#31526;&#20018;&#20013;&#34920;&#31034;&#12290;&#22312;<tt class="literal">Query</tt>&#20013;&#26377;&#26041;&#27861;&#25226;&#23454;&#38469;&#21442;&#25968;&#32465;&#23450;&#21040;&#21629;&#21517;&#21442;&#25968;&#25110;&#32773;JDBC&#39118;&#26684;&#30340;<tt class="literal">?</tt>&#21442;&#25968;&#12290;<span class="emphasis"><em>&#21644;JDBC&#19981;&#21516;&#65292;Hibernate&#30340;&#21442;&#25968;&#20174;0&#24320;&#22987;&#35745;&#25968;&#12290;</em></span> &#20351;&#29992;&#21629;&#21517;&#21442;&#25968;&#26377;&#19968;&#20123;&#22909;&#22788;&#65306;        </p><div class="itemizedlist"><ul type="disc" compact><li><p>                    &#21629;&#21517;&#21442;&#25968;&#19981;&#20381;&#36182;&#20110;&#23427;&#20204;&#22312;&#26597;&#35810;&#23383;&#31526;&#20018;&#20013;&#20986;&#29616;&#30340;&#39034;&#24207;                </p></li><li><p>                    &#22312;&#21516;&#19968;&#20010;&#26597;&#35810;&#20013;&#21487;&#20197;&#20351;&#29992;&#22810;&#27425;                </p></li><li><p>                    &#20182;&#20204;&#21487;&#35835;&#24615;&#22909;                </p></li></ul></div><pre class="programlisting">//named parameter (preferred)Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");q.setString("name", "Fritz");Iterator cats = q.iterate();</pre><pre class="programlisting">//positional parameterQuery q = sess.createQuery("from DomesticCat cat where cat.name = ?");q.setString(0, "Izi");Iterator cats = q.iterate();</pre><pre class="programlisting">//named parameter listList names = new ArrayList();names.add("Izi");names.add("Fritz");Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");q.setParameterList("namesList", names);List cats = q.list();</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="manipulatingdata-scrolling"></a>9.3.3.&nbsp;&#21487;&#28378;&#21160;&#36845;&#20195;(Scrollable iteration)</h3></div></div><div></div></div><p>            &#22914;&#26524;&#20320;&#30340;JDBC&#39537;&#21160;&#25903;&#25345;&#21487;&#28378;&#21160;&#30340;<tt class="literal">ResuleSet</tt>,<tt class="literal">Query</tt>&#25509;&#21475;&#21487;&#20197;&#33719;&#21462;&#19968;&#20010;<tt class="literal">ScrollableResults</tt>&#65292;&#20801;&#35768;&#20320;&#22312;&#26597;&#35810;&#32467;&#26524;&#20013;&#28789;&#27963;&#28216;&#36208;&#12290;        </p><pre class="programlisting">Query q = sess.createQuery("select cat.name, cat from DomesticCat cat " +                            "order by cat.name");ScrollableResults cats = q.scroll();if ( cats.first() ) {    // find the first name on each page of an alphabetical list of cats by name    firstNamesOfPages = new ArrayList();    do {        String name = cats.getString(0);        firstNamesOfPages.add(name);    }    while ( cats.scroll(PAGE_SIZE) );    // Now get the first page of cats    pageOfCats = new ArrayList();    cats.beforeFirst();    int i=0;    while( ( PAGE_SIZE &gt; i++ ) &amp;&amp; cats.next() ) pageOfCats.add( cats.get(1) );}</pre><p>        <tt class="literal">scroll()</tt>&#30340;&#34892;&#20026;&#26041;&#24335;&#19982;<tt class="literal">iterate()</tt>&#24456;&#31867;&#20284;&#65292;&#38500;&#20102;&#23545;&#35937;&#21487;&#20197;&#26377;&#36873;&#25321;&#30340;&#29992;<tt class="literal">get(int)</tt>&#21021;&#22987;&#21270;&#65292;&#32780;&#38750;&#25972;&#20010;&#34892;&#37117;&#19968;&#27425;&#24615;&#34987;&#21021;&#22987;&#21270;&#12290;    </p></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="manipulatingdata-filtering"></a>9.3.4.&nbsp;&#36807;&#28388;&#38598;&#21512;&#31867;(Filtering collections)</h3></div></div><div></div></div><p>            &#38598;&#21512;<span class="emphasis"><em>filter</em></span>&#26159;&#19968;&#31181;&#29305;&#27530;&#30340;&#26597;&#35810;&#65292;&#29992;&#20110;&#19968;&#20010;&#25345;&#20037;&#21270;&#38598;&#21512;&#25110;&#32773;&#25968;&#32452;&#12290;&#26597;&#35810;&#23383;&#31526;&#20018;&#21487;&#20197;&#24341;&#29992;<tt class="literal">this</tt>,&#24847;&#20026;&#24403;&#21069;&#30340;&#25968;&#32452;&#20803;&#32032;&#12290;        </p><pre class="programlisting">Collection blackKittens = session.filter(     pk.getKittens(), "where this.color = ?", Color.BLACK, Hibernate.enum(Color.class));</pre><p>            &#36820;&#22238;&#30340;&#38598;&#21512;&#34987;&#35748;&#20026;&#26159;&#19968;&#20010;&#21253;(bag)&#12290;        </p><p>            &#35831;&#27880;&#24847;filter&#24182;&#19981;&#38656;&#35201;<tt class="literal">from</tt> &#23376;&#21477;&#65288;&#24403;&#28982;&#38656;&#35201;&#30340;&#35805;&#23427;&#20204;&#20063;&#21487;&#20197;&#21152;&#19978;&#65289;&#12290;Filter&#19981;&#38480;&#23450;&#36820;&#22238;&#23427;&#20204;&#33258;&#24049;&#30340;&#38598;&#21512;&#20803;&#32032;&#12290;        </p><pre class="programlisting">Collection blackKittenMates = session.filter( 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -