歐陽良才

          不是別人,就是我陽良才
          隨筆 - 13, 文章 - 8, 評論 - 2, 引用 - 0
          數(shù)據(jù)加載中……

          jQuery 學(xué)習(xí)

          鏈接網(wǎng)址  http://www.jquery001.com/how-to-write-jquery-plugin.html

          posted @ 2012-03-27 14:48 歐陽良才 閱讀(221) | 評論 (0)編輯 收藏

          關(guān)于ibatis

          1.關(guān)于ibatis

          ibatis是一種半自動化的ORM框架
          說明:此文章來自 月月鳥0820  http://www.cnblogs.com/java-pan/archive/2012/03/21/ibatis.html

           

          2.項(xiàng)目環(huán)境介紹

          System:WIN7 JDK:編譯1.4 開發(fā)1.5  數(shù)據(jù)庫:oracle的dept表

          image

           

          3.文件介紹

          Dept.java  一個javabean

          IDeptSV.java  一個接口,用來聲明增、刪、改、查的方法

          DeptSVImpl.java 對IDeptSV接口的實(shí)現(xiàn),主要包括獲得SqlMapClient對象以及方法體的實(shí)現(xiàn)

          ShowDept.java 用來測試的方法.通過ECS插件把查詢的結(jié)果寫入到ibatis.html文件中

          Dept.xml 實(shí)體和數(shù)據(jù)庫表對應(yīng)的映射文件,主要是寫增、刪、改、查的sql語句

          SqlMap.properties 數(shù)據(jù)庫配置文件,以鍵值對的形式聲明數(shù)據(jù)庫的driver、url、username、password

          SqlMapConfig.xml  ibatis的核心配置文件,主要是引入數(shù)據(jù)庫配置文件,配置數(shù)據(jù)庫連接相關(guān)的屬性;引入實(shí)體類和數(shù)據(jù)庫表的映射文件(本次用到的只是最簡單的配置文件)

           

          4.下載jar包

          ibatis-2.3.4.jar ibatis的jar包

          classes12.jar oracle數(shù)據(jù)庫的驅(qū)動包

          ecs-1.4.2.jar ECS插件包,為了鞏固這個插件的使用故用此插件顯示查詢結(jié)果

          三個jar包壓縮成了一個文件,下載路徑如下:http://files.cnblogs.com/java-pan/jar.rar

           

          5.關(guān)于class&method的介紹

          Reader

          java.io.Reader

           

          SqlMapClientBuilder

          com.ibatis.sqlmap.client.SqlMapClientBuilder

           

          SqlMapClient

          com.ibatis.sqlmap.client.SqlMapClient

           

          關(guān)于ECS插件相關(guān)類的介紹請見文章

          http://www.cnblogs.com/java-pan/archive/2012/01/08/ecs.html

           

           

          start

          新建web project項(xiàng)目Ibatis,導(dǎo)入jar包(數(shù)據(jù)庫驅(qū)動包,ibatis包,ECS的jar包),各個文件的代碼如下:

          1.Dept.java

          Dept.java
           1 package ibatis;
          2
          3 /**
          4 *Module: Dept.java
          5 *Description: 使用orcle自帶的部門表dept--javabean
          6 *Company:
          7 *Author: ptp
          8 *Date: Mar 19, 2012
          9 */
          10 public class Dept {
          11 // 構(gòu)造方法
          12 public Dept() {
          13
          14 }
          15
          16 private int deptNo;
          17 private String dName;
          18 private String loc;
          19
          20 public int getDeptNo() {
          21 return deptNo;
          22 }
          23
          24 public void setDeptNo(int deptNo) {
          25 this.deptNo = deptNo;
          26 }
          27
          28 public String getDName() {
          29 return dName;
          30 }
          31
          32 public void setDName(String name) {
          33 dName = name;
          34 }
          35
          36 public String getLoc() {
          37 return loc;
          38 }
          39
          40 public void setLoc(String loc) {
          41 this.loc = loc;
          42 }
          43 }

           

          2.IDeptSV.java

          IDeptSV.java
           1 package ibatis;
          2
          3 import java.util.List;
          4
          5 /**
          6 *Module: IDeptSV.java
          7 *Description: CRUD的接口類
          8 *Company:
          9 *Author: ptp
          10 *Date: Mar 19, 2012
          11 */
          12 public interface IDeptSV {
          13
          14 // 添加
          15 public void addDept(Dept dept);
          16
          17 //添加數(shù)據(jù) 主鍵自動生成
          18 public void addDeptSequenct(Dept dept);
          19
          20 // 刪除
          21 public void delByDeptNo(int deptNo);
          22
          23 // 查詢 所有記錄
          24 public List queryDept();
          25
          26 // 根據(jù)條件查詢
          27 public Dept queryByDeptNo(int deptNo);
          28
          29 //模糊查詢 按照DNAME查詢
          30 public List queryByName(String dName);
          31
          32 // 修改
          33 public void updateDept(Dept dept);
          34
          35 }

           

          3.DeptSVImpl.java

          DeptSVImpl.java
            1 package ibatis;
          2
          3 import java.io.IOException;
          4 import java.io.Reader;
          5 import java.sql.SQLException;
          6 import java.util.List;
          7 import com.ibatis.common.resources.Resources;
          8 import com.ibatis.sqlmap.client.SqlMapClient;
          9 import com.ibatis.sqlmap.client.SqlMapClientBuilder;
          10 /**
          11 * Module: DeptSVImpl.java
          12 * Description: CRUD的實(shí)現(xiàn)類
          13 * Company:
          14 * Author: ptp
          15 * Date: Mar 19, 2012
          16 */
          17 public class DeptSVImpl implements IDeptSV {
          18 // 定義ibatis映射文件的位置
          19 private static String resource = "ibatis/SqlMapConfig.xml";
          20 private static SqlMapClient sqlMapClient = null;
          21 static {
          22 try {
          23 Reader reader = Resources.getResourceAsReader(resource);
          24 sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
          25 reader.close();
          26 // 設(shè)置為自動提交
          27 // System.out.println(sqlMapClient.getDataSource().getConnection()
          28 // .getAutoCommit());
          29 } catch (IOException e) {
          30 e.printStackTrace();
          31 }
          32 }
          33
          34 /*
          35 * (non-Javadoc) 添加記錄
          36 */
          37 public void addDept(Dept dept) {
          38 try {
          39 sqlMapClient.startTransaction();// 開啟事務(wù)
          40 sqlMapClient.insert("insertDept", dept);
          41 sqlMapClient.commitTransaction();// 提交事務(wù)
          42 System.out.println("******成功添加1條記錄******");
          43 } catch (SQLException e) {
          44 try {
          45 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          46 } catch (SQLException e1) {
          47 e1.printStackTrace();
          48 }
          49 e.printStackTrace();
          50 } finally {
          51 try {
          52 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          53 } catch (SQLException e) {
          54 e.printStackTrace();
          55 }
          56 }
          57 }
          58
          59 /*
          60 * (non-Javadoc) 刪除記錄 一次只刪除一條記錄
          61 */
          62 public void delByDeptNo(int deptNo) {
          63 try {
          64 sqlMapClient.startTransaction();// 開始事務(wù)
          65 sqlMapClient.delete("deleteDeptById", new Integer(deptNo));
          66 sqlMapClient.commitTransaction();// 提交事務(wù)
          67 System.out.println("******成功刪除1條記錄******");
          68 } catch (SQLException e) {
          69 try {
          70 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          71 } catch (SQLException e1) {
          72 e1.printStackTrace();
          73 }
          74 e.printStackTrace();
          75 } finally {
          76 try {
          77 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          78 } catch (SQLException e) {
          79 e.printStackTrace();
          80 }
          81 }
          82 }
          83
          84 /*
          85 * (non-Javadoc) 查詢 查詢所有記錄
          86 */
          87 public List queryDept() {
          88 List rows = null;
          89 try {
          90 sqlMapClient.startTransaction();// 開始事務(wù)
          91 rows = sqlMapClient.queryForList("selectAllDept");
          92 sqlMapClient.commitTransaction();// 提交事務(wù)
          93 System.out.println("******成功查詢所有記錄******");
          94 } catch (SQLException e) {
          95 try {
          96 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          97 } catch (SQLException e1) {
          98 e1.printStackTrace();
          99 }
          100 e.printStackTrace();
          101 } finally {
          102 try {
          103 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          104 } catch (SQLException e) {
          105 e.printStackTrace();
          106 }
          107 }
          108 return rows;
          109 }
          110
          111 /*
          112 * (non-Javadoc) 查詢 查詢一條記錄
          113 */
          114 public Dept queryByDeptNo(int deptNo) {
          115 Dept dept = null;
          116 try {
          117 sqlMapClient.startTransaction();// 開始事務(wù)
          118 dept = (Dept) sqlMapClient.queryForObject("selectById",
          119 new Integer(deptNo));
          120 sqlMapClient.commitTransaction();// 提交事務(wù)
          121 System.out.println("******成功查詢1條記錄******");
          122 } catch (SQLException e) {
          123 try {
          124 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          125 } catch (SQLException e1) {
          126 e1.printStackTrace();
          127 }
          128 e.printStackTrace();
          129 } finally {
          130 try {
          131 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          132 } catch (SQLException e) {
          133 e.printStackTrace();
          134 }
          135 }
          136 return dept;
          137 }
          138
          139 /*
          140 * (non-Javadoc) 更新 一次只更新一條記錄
          141 */
          142 public void updateDept(Dept dept) {
          143 try {
          144 sqlMapClient.startTransaction();// 開始事務(wù)
          145 sqlMapClient.update("updateDeptById", dept);
          146 sqlMapClient.commitTransaction();// 提交事務(wù)
          147 System.out.println("******成功更新1條記錄******");
          148 } catch (SQLException e) {
          149 try {
          150 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          151 } catch (SQLException e1) {
          152 e1.printStackTrace();
          153 }
          154 e.printStackTrace();
          155 } finally {
          156 try {
          157 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          158 } catch (SQLException e) {
          159 e.printStackTrace();
          160 }
          161 }
          162 }
          163
          164 /*
          165 * (non-Javadoc) 模糊查詢
          166 */
          167 public List queryByName(String name) {
          168 List depts = null;
          169 try {
          170 sqlMapClient.startTransaction();// 開始事務(wù)
          171 depts = sqlMapClient.queryForList("selectByName", name);
          172 sqlMapClient.commitTransaction();// 提交事務(wù)
          173 System.out.println("******模糊查詢成功******");
          174 } catch (SQLException e) {
          175 try {
          176 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          177 } catch (SQLException e1) {
          178 e1.printStackTrace();
          179 }
          180 e.printStackTrace();
          181 } finally {
          182 try {
          183 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          184 } catch (SQLException e) {
          185 e.printStackTrace();
          186 }
          187 }
          188 return depts;
          189 }
          190
          191 /*
          192 * (non-Javadoc)主鍵自動生成 添加記錄
          193 */
          194 public void addDeptSequenct(Dept dept) {
          195 try {
          196 sqlMapClient.startTransaction();// 開始事務(wù)
          197 sqlMapClient.insert("insertDeptBySequence", dept);
          198 sqlMapClient.commitTransaction();// 提交事務(wù)
          199 System.out.println("******成功添加1條記錄(主鍵自動生成)******");
          200 } catch (SQLException e) {
          201 try {
          202 sqlMapClient.getCurrentConnection().rollback();// 回滾事務(wù)
          203 } catch (SQLException e1) {
          204 e1.printStackTrace();
          205 }
          206 e.printStackTrace();
          207 } finally {
          208 try {
          209 sqlMapClient.endTransaction();// 結(jié)束事務(wù)
          210 } catch (SQLException e) {
          211 e.printStackTrace();
          212 }
          213 }
          214 }
          }

          posted @ 2012-03-23 13:45 歐陽良才 閱讀(565) | 評論 (0)編輯 收藏

          struts2 if標(biāo)簽

          文章來自他人空間 我自己添加了一點(diǎn)



          <s:if test="deptType==\"1\"" >下屬</s:if><s:else>直屬</s:else>(如果是數(shù)字類型可以 通過)

          <s:if test="{#deptType == '1'}" >下屬</s:if><s:else>直屬</s:else>(匹配的類型是char型)



          前提:數(shù)據(jù)庫中的類型是varchar,pojo中對應(yīng)的字段的類型也是string。

          如果數(shù)據(jù)庫中的數(shù)據(jù)是整數(shù)字符串,例如1、2、3等,那么使用==

          <s:if test="deptType==1" >下屬 </s:if> <s:else>直屬 </s:else>

          如果數(shù)據(jù)庫中的數(shù)據(jù)是字符串,aa、bb、cc等等

          那么就要使用 <s:if test="deptType=='aa'>下屬aa </s:if> <s:else>直屬 </s:else>  

          如果數(shù)據(jù)庫中既有數(shù)字字符串也普通的字符串,那么 <s:if test="deptType=='aa'  ¦ ¦ deptType=='1'" >下屬aa </s:if> <s:else>直屬 </s:else> 無法正常的解析,

          <s:if test="deptType eq 'aa" >下屬</s:if><s:else>直屬</s:else>(字符串用 eq  通過)




          如果sex是int類型,那么直接比較就可以了

             1.             <s:if test="sex==1">男</s:if>  
             2.             <s:else>女</s:else>

          posted @ 2012-03-23 10:02 歐陽良才 閱讀(1828) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 吴旗县| 台安县| 梅州市| 庆元县| 澄江县| 嘉义市| 任丘市| 札达县| 洱源县| 陕西省| 巴塘县| 九寨沟县| 当涂县| 尚志市| 普安县| 萍乡市| 武功县| 龙州县| 藁城市| 昭觉县| 南和县| 孝感市| 鄂托克旗| 商城县| 聂荣县| 伊宁市| 诸暨市| 武义县| 乐平市| 海盐县| 呼伦贝尔市| 广汉市| 揭东县| 垫江县| 光山县| 濉溪县| 图木舒克市| 庆城县| 上饶县| 宝坻区| 桐柏县|