成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Struts2.0+ibatis2.3完美整合實例之映射淺析

開發(fā) 后端
Struts2.0+ibatis2.3完美整合實例是如何的呢?本文將向你介紹相關信息。

Struts2.0+ibatis2.3完美整合實例如何實現(xiàn)呢?讓我們開始具體的步驟:

Struts2.0+ibatis2.3完美整合實例一、我們先把數(shù)據(jù)庫的表映射出來,即Users.java

  1. package org.login.vo;  
  2.  
  3. /**  
  4.  * Users Entity Bean  
  5.  * @author jinlong0  
  6.  */ 
  7. public class Users {  
  8.  
  9.     private Integer id;  
  10.     private String userName;  
  11.     private String password;  
  12.           
  13.     public Integer getId() {  
  14.         return id;  
  15.     }  
  16.  
  17.     public void setId(Integer id) {  
  18.         this.id = id;  
  19.     }  
  20.  
  21.     public String getUserName() {  
  22.         return userName;  
  23.     }  
  24.  
  25.     public void setUserName(String userName) {  
  26.         this.userName = userName;  
  27.     }  
  28.  
  29.     public String getPassword() {  
  30.         return password;  
  31.     }  
  32.  
  33.     public void setPassword(String password) {  
  34.         this.password = password;  
  35.     }  
  36.  
  37.     public Users() {  
  38.           
  39.     }  
  40.  
  41.     public Users(Integer id, String userName, String password) {  
  42.         super();  
  43.         this.id = id;  
  44.         this.userName = userName;  
  45.         this.password = password;  
  46.     }  
  47.       

Struts2.0+ibatis2.3完美整合實例二、接下來我們把映射的XML寫出來,即Users.xml

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2.  
  3. ﹤!DOCTYPE sqlMap        
  4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"        
  5.     "http://ibatis.apache.org/dtd/sql-map-2.dtd"﹥  
  6. ﹤sqlMap namespace="User"﹥  
  7.     ﹤typeAlias alias="user" type="org.login.vo.Users"/﹥  
  8.       
  9.     ﹤resultMap class="user" id="get-all-user"﹥  
  10.         ﹤result property="id" column="id"/﹥  
  11.         ﹤result property="userName" column="username"/﹥  
  12.         ﹤result property="password" column="password"/﹥  
  13.     ﹤/resultMap﹥  
  14.       
  15.     ﹤select id="checkUser" parameterClass="user" resultClass="user"﹥  
  16.         ﹤![CDATA[  
  17.             SELECT id, username, password FROM users WHERE username = #userName# and password = #password#  
  18.         ]]﹥  
  19.     ﹤/select﹥  
  20.       
  21.     ﹤select id="getUserById" parameterClass="java.lang.Integer" resultClass="user"﹥  
  22.         ﹤![CDATA[  
  23.             SELECT id, username, password FROM users WHERE id = #id#  
  24.         ]]﹥  
  25.     ﹤/select﹥  
  26.       
  27.     ﹤select id="getAllUser" resultMap="get-all-user"﹥  
  28.         ﹤![CDATA[  
  29.             SELECT id, username, password FROM users  
  30.         ]]﹥  
  31.     ﹤/select﹥  
  32.       
  33.     ﹤insert id="insertUser" parameterClass="user"﹥  
  34.         ﹤![CDATA[  
  35.             INSERT INTO users (username, password) VALUES (#userName#, #password#)  
  36.         ]]﹥  
  37.     ﹤/insert﹥  
  38.       
  39.     ﹤update id="updateUser" parameterClass="user"﹥  
  40.         ﹤![CDATA[  
  41.             UPDATE users SET username=#userName#, password=#password# WHERE id=#id#  
  42.         ]]﹥  
  43.     ﹤/update﹥  
  44.       
  45.     ﹤delete id="deleteUser" parameterClass="java.lang.Integer"﹥  
  46.         ﹤![CDATA[  
  47.             DELETE FROM users WHERE id = #id#  
  48.         ]]﹥  
  49.     ﹤/delete﹥  
  50. ﹤/sqlMap﹥ 

在這里我們要特別注意的是與Hibernate的xml的區(qū)別,在這個映射的xml里有了所有的數(shù)據(jù)操作的SQL語句,這也是ibatis的一個特點,它的半自動化,讓開發(fā)人員能隨心所欲的,想必學過ibatis的都很清楚了,在這里我就不詳細說明了,呵呵!

Struts2.0+ibatis2.3完美整合實例三、接下來我們就寫DAO層的接口及實現(xiàn)

接口IUserDAO.java

  1. package org.login.dao;  
  2.  
  3. import java.util.List;  
  4.  
  5. import org.login.vo.Users;  
  6.  
  7. public interface IUserDAO {  
  8.  
  9.     List﹤Users﹥ getAllUser();  
  10.       
  11.     Users getUserById(Integer id);  
  12.       
  13.     boolean isLogin(Users user);  
  14.       
  15.     boolean insertUser(Users user);  
  16.       
  17.     boolean updateUser(Users user);  
  18.       
  19.     boolean deleteUser(Integer id);  
  20. }  
  21.  
  22. 實現(xiàn)類:UserDAO.java  
  23.  
  24.  
  25. package org.login.dao.Impl;  
  26.  
  27. import java.sql.SQLException;  
  28. import java.util.List;  
  29.  
  30. import org.login.dao.IUserDAO;  
  31. import org.login.vo.Users;  
  32. import org.springframework.beans.factory.annotation.Autowired;  
  33. import org.springframework.beans.factory.annotation.Qualifier;  
  34. import org.springframework.stereotype.Service;  
  35.  
  36. import com.ibatis.sqlmap.client.SqlMapClient;  
  37.  
  38. @SuppressWarnings("unchecked")  
  39. @Service("userDAO")  
  40. public class UserDAO implements IUserDAO {  
  41.  
  42.     @Autowired(required=false)  
  43.     @Qualifier("sqlClient")  
  44.     private SqlMapClient client = null;  
  45.  
  46.     public SqlMapClient getClient() {  
  47.         return client;  
  48.     }  
  49.  
  50.     public void setClient(SqlMapClient client) {  
  51.         this.client = client;  
  52.     }  
  53.  
  54.     @Override 
  55.     public boolean deleteUser(Integer id) {  
  56.         try {  
  57.             client.delete("deleteUser", id);  
  58.             return true;  
  59.         } catch (SQLException e) {  
  60.             e.printStackTrace();  
  61.         }  
  62.         return false;  
  63.     }  
  64.  
  65.     @Override 
  66.     public List﹤Users﹥ getAllUser() {  
  67.         List﹤Users﹥ list = null;  
  68.         try {  
  69.             list =  client.queryForList("getAllUser");  
  70.         } catch (SQLException e) {  
  71.             e.printStackTrace();  
  72.         }  
  73.         return list;  
  74.     }  
  75.  
  76.     @Override 
  77.     public boolean insertUser(Users user) {  
  78.         try {  
  79.             client.insert("insertUser", user);  
  80.             return true;  
  81.         } catch (SQLException e) {  
  82.             e.printStackTrace();  
  83.         }  
  84.         return false;  
  85.     }  
  86.  
  87.     @Override 
  88.     public boolean updateUser(Users user) {  
  89.         try {  
  90.             client.update("updateUser", user);  
  91.             return true;  
  92.         } catch (SQLException e) {  
  93.             e.printStackTrace();  
  94.         }  
  95.         return false;  
  96.     }  
  97.  
  98.     @Override 
  99.     public boolean isLogin(Users user) {  
  100.         try {  
  101.             Users u = (Users) client.queryForObject("checkUser", user);  
  102.             if (u != null) {  
  103.                 return true;  
  104.             }  
  105.         } catch (SQLException e) {  
  106.             e.printStackTrace();  
  107.         }  
  108.         return false;  
  109.     }  
  110.  
  111.     @Override 
  112.     public Users getUserById(Integer id) {  
  113.         Users u = null;  
  114.         try {  
  115.             u = (Users) client.queryForObject("getUserById", id);  
  116.         } catch (SQLException e) {  
  117.             e.printStackTrace();  
  118.         }  
  119.         return u;  
  120.     }  
  121.  

在這里,接口和我們前面的Hibernate的例子類同,只是實現(xiàn)類區(qū)別有點大了。

特別應該注意的是Spring2.5中類的注入方式,是用標注方式注入的,即:

@Service("userDAO")

@Autowired(required=false)

@Qualifier("sqlClient")

這是我們特別應該注意的,這是標注,詳細說明見Spring2.5的開發(fā)手冊。

這篇就寫到這里吧,下篇我們將說明服務層及Struts層的實現(xiàn),如果有興趣研究的朋友可以先下載示例代碼先看下,具體的下載地址如下:

演示示例下載地址:Struts2.0+Spring2.5.1+ibatis2.3地址:http://download.csdn.net/source/331581

Struts2.0+ibatis2.3完美整合實例之映射實現(xiàn)就向你介紹到這里,希望對你有所幫助。

【編輯推薦】

  1. iBATIS.NET中動態(tài)選擇DAO淺析
  2. iBATIS.NET連接數(shù)據(jù)庫處理淺析
  3. Castle.DynamicProxy在iBATIS.NET中的使用
  4. 在iBATIS.NET中調(diào)用存儲過程淺析
  5. Struts2.0+Springframework2.5+ibatis2.3完美整合實例
責任編輯:仲衡 來源: CSDN博客
相關推薦

2009-07-20 17:01:11

Struts2.0+i

2009-07-20 16:51:59

Struts2.0+i

2009-07-20 16:07:19

Struts2.0 S

2009-07-17 17:45:56

iBATIS Spri

2009-07-15 17:58:07

iBATIS 動態(tài)映射

2009-07-22 09:44:05

iBATIS Para

2009-07-17 17:16:48

Spring iBAT

2009-07-21 17:39:50

iBATIS的多對多映

2009-07-22 11:11:39

iBATIS分頁實例ObjectDataS

2009-07-22 11:27:36

iBATIS模糊查詢

2009-07-21 11:12:00

iBATIS配置

2009-07-20 13:47:08

iBATIS.NET字

2009-07-22 10:42:59

iBATIS Cach

2009-07-16 10:23:30

iBATIS工作原理

2009-07-16 09:14:26

iBATIS DAO

2009-07-15 17:19:31

iBATIS Ecli

2009-07-17 10:32:45

iBATIS MapB

2009-07-22 10:03:11

iBATIS Resu

2009-07-20 18:00:16

iBATIS DAO事

2009-07-17 10:20:24

iBATIS實例
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩aⅴ视频 | 精品视频一区二区 | 日韩中文视频 | 欧美激情一区 | a天堂在线 | 国产日日操| 亚洲一区 | 午夜欧美 | 日韩欧美视频网站 | 精品一区二区三区中文字幕 | 亚洲高清在线 | 亚洲视频中文字幕 | 久久夜色精品国产 | 看片91 | 福利视频一二区 | 伊人春色成人 | 国产一区二区三区免费视频 | 国产精品免费视频一区 | 亚洲www啪成人一区二区 | 欧美黄色一级毛片 | 午夜精品视频 | 精品二区 | 中文字幕精品一区 | 日本三级日产三级国产三级 | 亚洲成人av | 国产羞羞视频在线观看 | 亚洲精品99| 视频三区| 99亚洲精品 | 免费的色网站 | 毛片大全| 欧美精品久久久 | 国产一区91精品张津瑜 | 精品一二 | 亚洲国产一区二区三区 | 午夜精品久久久久久久99黑人 | 亚洲欧美日韩成人在线 | 91天堂网| 一级毛片免费视频 | 综合在线视频 | 91久久国产综合久久 |