Time of Update: 2018-12-07
JPQL:Java持久化查詢語言,以物件導向的查詢文法構造查詢語句。 JPA使用javax.persistence.Query介面代表一個查詢執行個體,Query執行個體由EntityManager通過指定查詢語句構建。 以下程式中的em是EntityManager的一個執行個體,使用注入或通過 EntityManagerFactory 執行個體顯式擷取一個 EntityManager 執行個體。 1、一個基本的查詢: SELECT u FROM User
Time of Update: 2018-12-07
有時候需要在頁面上允許使用者上傳多個檔案,個數由使用者自己決定,個數多了也可以刪除,使用jQuery可以很簡單的實現這個功能。<!DOCTYPE html><html> <head> <title>test.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="
Time of Update: 2018-12-07
JPA的命名查詢實際上就是給查詢語句起個名字,執行查詢的時候就是直接使用起的這個名字,避免重複寫JPQL語句,使查詢在代碼中得到更多的重用。我不怎麼喜歡使用命名查詢,因為我不想把查詢語句寫在實體中,使得實體看起來變得複雜臃腫。 1、使用@NamedQuery註解在實體類中定義命名查詢。 @NamedQuery(name="findAllUser",query="SELECT u FROM User u")
Time of Update: 2018-12-07
@GeneratedValue:主鍵的產生策略,通過strategy屬性指定。 主鍵產生策略通過GenerationType來指定。GenerationType是一個枚舉,它定義了主鍵產生策略的類型。 1、AUTO 自動選擇一個最適合底層資料庫的主鍵建置原則。如MySQL會自動對應auto
Time of Update: 2018-12-07
1、下載、安裝Axure RP 6.5 :http://www.axure.com/download 系統要求: For PC:Windows XP, 2003 Server, Vista, or 71 GB RAM1 GHz Processor60 MB disk spaceFor specifications, Microsoft Office Word 2000, XP, 2003, 2007, or 2010For prototypes, IE 6.0+,
Time of Update: 2018-12-07
Servlet3.0提供了對檔案上傳的原生支援。 使用註解@MultipartConfig將一個Servlet標識為支援檔案上傳。 Servlet3.0將multipart/form-data的POST請求封裝成Part,通過Part對上傳的檔案進行操作。 上傳檔案的表單:<form action="UploadServlet" method="post" enctype="multipart/form-data"> <tr> <td>
Time of Update: 2018-12-07
從一關聯到多的查詢和從多關聯到一的查詢來簡單說說關聯查詢。 實體Team:球隊。 實體Player:球員。 球隊和球員是一對多的關係。 Team.java:package com.cndatacom.jpa.entity;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Column;import
Time of Update: 2018-12-07
Struts2上傳多檔案也很簡單。在Action中把檔案對應的屬性用數組或者集合接收就可以了。 File[] file; String[] fileFileName; String[] fileContentType; 1、FileUploadAction的代碼package cn.luxh.struts2.action;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;
Time of Update: 2018-12-07
昨天一位項目組同事需要在ArrayList中刪除所有不等於指定值的元素,但是她弄了很久,發現總是刪得不完全。剛好我以前做過類似的功能,就告訴她是因為ArrayList刪除元素後長度變小了,元素的索引也會跟著改變,但是迭代的下標沒有跟著相應的改變的緣故。 將一些刪除方法做一些總結: 1 /** 2 * 刪除Arraylist中值為"c"的元素 3 */ 4 public static void main(String[] args) { 5
Time of Update: 2018-12-07
非同步處理是非常有用的功能,許多時候能帶來很好的體驗。 在Servlet中經常需要調用業務方法,在進行業務處理的時候,Servlet需要等待資料返回後才能繼續往下執行,使得Servlet被阻塞。當然,處理這些比較耗時的業務的時候,可以啟動另外的線程去處理,然後Servlet繼續往下執行,但是啟動的這個業務處理線程是沒有辦法和用戶端互動的,只是在伺服器端執行,不能主動的向用戶端發送處理資訊。 Servlet3.0通過進入非同步處理,使得Servlet調用業務方法的時候不被阻塞,而是直接返回
Time of Update: 2018-12-07
persistence.xml檔案必須定義在classpath路徑下的META-INF檔案夾中。 我們看看基於Hibernate提供的一個比較完整的JPA2.0的persistence.xml檔案。 persistence.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
Time of Update: 2018-12-07
預設根據文檔查詢的相關度得分來進行排序,得分越高,排名越前。 1、設定Lucene的文檔對象Document中的一個促進因子,可以提高相關度得分。Book book = new Book();book.setId(2);book.setTitle("建築的永恒之道");book.setAuthor("亞曆山大");book.setContent("《建築的永恒之道》提出了一個關於建築設計、建築和規劃的新的理論、思想.");book.setPrice(65.5F);Document doc
Time of Update: 2018-12-07
分頁查詢只需要傳入每頁顯示多少條記錄,當前是第幾頁就可以了。 當然是對搜尋返回的結果進行分頁,並不是對搜尋結果的總數量進行分頁,因為我們搜尋的時候都是返回前n條記錄。 例如indexSearcher.search(query, 100);//只返回前100條記錄/** * 對搜尋返回的前n條結果進行分頁顯示 * @param keyWord 查詢關鍵詞 * @param pageSize每頁顯示記錄數 * @param currentPage當前頁 * @throws
Time of Update: 2018-12-07
Lucene,是一個Java全文檢索搜尋引擎。 使用Lucene3.6版本,到官網下載lucene-3.6.0.zip,解壓。 需要用到的jar: \lucene-3.6.0\lucene-core-3.6.0.jar ------> Lucene的核心包 \lucene-3.6.0\contrib\analyzers\common\lucene-analyzers-3.6.0.jar ------>
Time of Update: 2018-12-07
EntityManager API 提供了建立 Query 執行個體以執行原生 SQL 陳述式的createNativeQuery方法。 實體User:package com.cndatacom.jpa.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import
Time of Update: 2018-12-07
先看一下部落格園的登入表單,然後用Axure RP一步一步把這個表單原型做出來。 運行Axure RP軟體,馬上開始動手: 1、添加一個頁面,把頁面命名為"部落格園",然後在"部落格園"這個頁面下添加一個子頁面叫"登入頁面"。 1)添加一個頁面 2)在這個頁面上點擊右鍵,選擇"Rename"菜單,將頁面重新命名為"部落格園"
Time of Update: 2018-12-07
Lucene的普及和成功的背後是因為它的簡單。 因此,你不需要深入理解Lucene的資訊索引和檢索工作方面的知識就可以開始使用。 Lucene提供了簡單但是強大的核心API去實現全文索引和檢索,你只需要掌握少數的類就能將Lucene整合到應用中。 剛接觸Lucene的人可能會誤認為Lucene是一個檔案搜尋工具、網路爬蟲、或者網頁搜尋引擎。實際上Lucene是一個軟體庫,而不是一個全功能的搜尋應用程式。它涉及全文索引和搜尋,而且做得非常好。Lucene可以讓你的應用程式隱藏起複雜的索引
Time of Update: 2018-12-07
根據實際情況對索引庫進行最佳化,可以提升建立索引和搜尋的速度。 1、合并索引庫片段檔案 IndexWriter的optimize()方法已經過時,因為這個方法的效率很低。合并檔案主要是使用IndexWriter的setMergeFactor(int)方法,但是在Lucene3.6版本中,該方法已淘汰,直接使用LogMergePolicy.setMergeFactor(int)方法代替。 當setMergeFactor(int)的參數值較小的時候,建立索引的速度較慢。當參數值較大的時候,
Time of Update: 2018-12-07
我使用的開發環境:MyEclipse10+Tomcat7+JDK6。 開發Servlet3的程式需要一定的環境支援。Servlet3是Java EE6規範的一部分,MyEclipse10和Tomcat7都提供了對Java EE6規範的支援。 Tomcat需要Tomcat7才支援Java EE6,Tomcat7需要使用JDK6。 如果使用的MyEclipse的版本較低,沒有提供Java
Time of Update: 2018-12-07
Servlet3.0提供@WebFilter將一個實現了javax.servlet.Filter介面的類定義為過濾器組件。package com.cndatacom.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import