發表文章

目前顯示的是 5月, 2012的文章

將資料塞進map中,用hashmap取資料速度較快(隨機)

Map<String, Integer> chartData = new HashMap<String, Integer>(); //判斷資料是否存在,不存在直接PUT資料進MAP,如果存在把資料做累加動作  if (chartData.get(result.get("empname").toString()) == null) {                     chartData.put(result.get("empname").toString(), n.getAlltotal().intValue());                 } else {                     chartData.put(result.get("empname").toString(), chartData.get(result.get("empname").toString()).intValue() + n.getAlltotal().intValue());                 } //把資料依序取出方法1(值)         java.util.Iterator it = chartData.entrySet().iterator();         while (it.hasNext()) {             java.util.Map.Entry entry = (java.util.Map.Entry) it.next(); // entry.getKey() 返回與此項對應的KEY // entry.getValue() 返回與此項對應的值             System.out.println(entry.getKey());             System.out.println(entry.getValue());             pieModel.set(entry.getKey().toString(), Integer.valueOf(entry.getValue().toString()));         } //把資

java BigDecimal 加減乘除,四捨五入,四則運算及比較

BigDecimal的運算中,加為add, 減為 subtract ,乘為multiply,除法為divide。 BigDecimal b1 = new BigDecimal("1"); BigDecimal b2 = new BigDecimal("2"); 加(add): System.out.println("b1+b2="+  b1.add(b2);==>3  減( subtract): System.out.println("b1-b2="+   b1. subtract (b2);==>-1 乘(multiply) System.out.println("b1*b2="+   b1. multiply (b2);==>2 除(divide)     System.out.println("b1/b2="+   b1.divide (b2, 2, RoundingMode.HALF_UP );==>0.5(取小數點2位,後四捨五入) 四捨五入  new BigDecimal("0.105").add(new BigDecimal("0.25")).setScale(2, BigDecimal.ROUND_HALF_UP);==>0.36 比較大小 int  i=b1.compareTo(b2)   i可能為-1、0、1,分别表示小於、等 於 、大 於 i=-1   ==>   b1<b2 i=0   ==>   b1=b2 i=1   ==>   b1>b2

java 數字轉字串 字串轉數字

1. 數字轉字串 1-1 整數轉字串                int i = 7; String s = Integer.toString(i); or String s = "" + i; // 直接強制轉型 1-2  長整數轉字串 long x=10; String s = Long.toString(x); 1-3  雙精度數字轉字串 double x=10;                String s = Double.toString(x);     1-4 浮點數字轉字串 float x=10; String s = Float.toString(x); 2. 字串轉數字 2-1 字串轉整數 String str = "10"; int i = Integer.valueOf(str).intValue();  // 第一種方法 int j = new Integer(str).intValue(); // 第二種方法 int k = Integer.parseInt(str);  // 第三種方法 2-2 字串轉雙精度數字 double d = Double.valueOf(str).doubleValue(); 2.3 字串轉長型態數字                long l = Long.valueOf(str).longValue(); or long l = Long.parseLong(str); 2.4 字串轉浮點型態數字                float f = Float.valueOf(str).floatValue();

成大事必備9種能力、9種手段、9種心態

一:沉穩    (1)不要隨便顯露你的情緒。    (2)不要逢人就訴說你的困難和遭遇。    (3)在徵詢別人的意見之前,自己先思考,但不要先講。    (4)不要一有機會就嘮叨你的不滿。    (5)重要的決定儘量有別人商量,最好隔一天再發佈。    (6)講話不要有任何的慌張,走路也是。  二:細心    (1)對身邊發生的事情,常思考它們的因果關係。    (2)對做不到位的執行問題,要發掘它們的根本癥結。    (3)對習以為常的做事方法,要有改進或優化的建議。    (4)做什麼事情都要養成有條不紊和井然有序的習慣。    (5)經常去找幾個別人看不出來的毛病或弊端。    (6)自己要隨時隨地對有所不足的地方補位。    三:膽識    (1)不要常用缺乏自信的詞句    (2)不要常常反悔,輕易推翻已經決定的事。    (3)在眾人爭執不休時,不要沒有主見。    (4)整體氛圍低落時,你要樂觀、陽光。    (5)做任何事情都要用心,因為有人在看著你。    (6)事情不順的時候,歇口氣,重新尋找突破口,就結束也要乾淨俐落。    四:大度    (1)不要刻意把有可能是夥伴的人變成對手。    (2)對別人的小過失、小錯誤不要斤斤計較。    (3)在金錢上要大方,學習三施(財施、法施、無畏施)    (4)不要有權力的傲慢和知識的偏見。    (5)任何成果和成就都應和別人分享。    (6)必須有人犧牲或奉獻的時候,自己走在前面。    五:誠信    (1)做不到的事情不要說,說了就努力做到。    (2)虛的口號或標語不要常掛嘴上。    (3)針對客戶提出的“不誠信"問題,拿出改善的方法。    (4)停止一切“不道德"的手段。    (5)耍弄小聰明,要不得!    (6)計算一下產品或服務的誠信代價,那就是品牌成本。    六:擔當    (1)檢討任何過失的時候,先從自身或自己人開始反省。    (2)事項結束後,先審查過錯,再列述功勞。    (3)認錯從上級開始,表功從下級啟動    (4)著手一個計畫,先將權責界定清楚,而且分配得當。    (

從JSF頁面傳遞參數至後端backing bean

1. 方法傳遞 在 JSF 2.0,可以透過這樣的方法表達參數值   #{bean.method(param)} . JSF page… <h:commandButton action = "#{user.editAction(delete)}" / > Backing bean… @ManagedBean ( name = "user" ) @SessionScoped public class UserBean {   public String editAction ( String id ) { //id = "delete" }   } 2.f:param 透過 f:param標籤傳遞參數值,並通過後台bean的接收參數。 JSF page… <h:commandButton action = "#{user.editAction}" > <f:param name = "action" value = "delete" / > < / h:commandButton> Backing bean… @ManagedBean ( name = "user" ) @SessionScoped public class UserBean {   public String editAction ( ) {   Map < String,String > params = FacesContext. getExternalContext ( ) . getRequestParameterMap ( ) ; String action = params. get ( "action" ) ; //...   }   } 3. f:atribute 透過   f:atribute   標籤傳遞參數值,並通過後台bean

JSF頁面輸出時出現ID重複

在引入的主畫面(appLayout.xhtml)每個元件都加上ID即可解決

更換TOMCAT網頁的DEFAULT圖示

把/TOMCAT/webapps/ROOT/favicon.ico這個檔案替換掉即可

新專案的hibernate無法啟動

在/WEB-INF/classes/hibernate.properties檔案中 hibernate.connection.datasource java:/comp/env/jdbc/ hanlin==> 這個名稱要與context.xml的設定名稱一致才不會抓不到JDBC資料

tomcat7連接SQLSERVER設定步驟

1. 下載SQLSERVER的JAR檔, copy到\WEB-INF\lib下,再到PROJECT中把JAR檔ADD進來。 2.context.xml新增<Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" initialSize="3" maxActive="100" maxIdle="30" maxWait="10000" name=" jdbc/dsc " password="xxxxx" type="javax.sql.DataSource" url="jdbc:sqlserver://serverIP:1433;DatabaseName=資料庫名稱" username="sa"/> 3.web.XML新增    <resource-ref>         <description>SQLSERVER DB Connection</description>         <res-ref-name> jdbc/dsc </res-ref-name>         <res-type>javax.sql.DataSource</res-type>         <res-auth>Container</res-auth>     </resource-ref> context.xml的紅色部分與web.xml是相對應的,2個要設定一樣名稱,可以把dsc改成你要的名稱,這個跟下面的CONNNECT方法呼叫也是要一樣。 4.程式中connection的呼叫   public static Connection getSqlConnection() throws NamingException, SQLException { Context init

Apache Commons DbUtils 資料經由map對應取出

以下程式為資料取出放入List中(多筆)   try {     conn =  DbUs.getConnection();==>database的連結字串     QueryRunner qr = new QueryRunner();     List results = (List) qr.query(conn, "select id,name from user", new MapListHandler());     for (int i = 0; i < results.size(); i++) {      Map map = (Map) results.get(i);      System.out.println("id:" + map.get("id") + ",name:" + map.get("name"));==>取對應的資料,資料型別為Object如要其他的動作須轉型.     }    } catch (SQLException e) {     e.printStackTrace();    } finally {     DbUtils.closeQuietly(conn);    } 以下程式為資料取出放入List中(單筆)   try {             conn = DbUs.getConnection();             QueryRunner qr = new QueryRunner();             String sql = "select shortname,custname from basobjectm where  custno='" + mainSingle.getCustNo() + "' ";              Map result = (Map) qr.query(conn, sql, new MapHandler());             mainSingle.setCustName(result.get("custname")

解決 'No operation allowed after connection closed' 錯誤訊息

在 tomcat meta-inf的context.xml 在resource標籤內多一個 屬性 validationQuery="select 1" , 便不會再三不五時拿到被關掉的connection了.

JDBC處理SQL commit及rollback

try {      .....       conn.setAutoCommit(false);      .....      // SQL add,update,delete操作       conn.commit();  } catch(Exception) {      // 發生錯誤,撤消所有變更     if(connection != null) {         try {              conn.rollback();             }         catch(SQLException ex) {             ex.printStackTrace();         }     } } finally {     if(connection != null) {         try {             connection.close();         }         catch(SQLException e) {             e.printStackTrace();         }     } }