日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Struts2.0+ibatis2.3完美整合實例之映射淺析

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

10年積累的網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有赫章免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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

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

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

 
 
 
  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥
  2. ﹤!DOCTYPE sqlMap      
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
  4.     "http://ibatis.apache.org/dtd/sql-map-2.dtd"﹥
  5. ﹤sqlMap namespace="User"﹥
  6.     ﹤typeAlias alias="user" type="org.login.vo.Users"/﹥
  7.     
  8.     ﹤resultMap class="user" id="get-all-user"﹥
  9.         ﹤result property="id" column="id"/﹥
  10.         ﹤result property="userName" column="username"/﹥
  11.         ﹤result property="password" column="password"/﹥
  12.     ﹤/resultMap﹥
  13.     
  14.     ﹤select id="checkUser" parameterClass="user" resultClass="user"﹥
  15.         ﹤![CDATA[
  16.             SELECT id, username, password FROM users WHERE username = #userName# and password = #password#
  17.         ]]﹥
  18.     ﹤/select﹥
  19.     
  20.     ﹤select id="getUserById" parameterClass="java.lang.Integer" resultClass="user"﹥
  21.         ﹤![CDATA[
  22.             SELECT id, username, password FROM users WHERE id = #id#
  23.         ]]﹥
  24.     ﹤/select﹥
  25.     
  26.     ﹤select id="getAllUser" resultMap="get-all-user"﹥
  27.         ﹤![CDATA[
  28.             SELECT id, username, password FROM users
  29.         ]]﹥
  30.     ﹤/select﹥
  31.     
  32.     ﹤insert id="insertUser" parameterClass="user"﹥
  33.         ﹤![CDATA[
  34.             INSERT INTO users (username, password) VALUES (#userName#, #password#)
  35.         ]]﹥
  36.     ﹤/insert﹥
  37.     
  38.     ﹤update id="updateUser" parameterClass="user"﹥
  39.         ﹤![CDATA[
  40.             UPDATE users SET username=#userName#, password=#password# WHERE id=#id#
  41.         ]]﹥
  42.     ﹤/update﹥
  43.     
  44.     ﹤delete id="deleteUser" parameterClass="java.lang.Integer"﹥
  45.         ﹤![CDATA[
  46.             DELETE FROM users WHERE id = #id#
  47.         ]]﹥
  48.     ﹤/delete﹥
  49. ﹤/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. import java.util.List;
  3. import org.login.vo.Users;
  4. public interface IUserDAO {
  5.     List﹤Users﹥ getAllUser();
  6.     
  7.     Users getUserById(Integer id);
  8.     
  9.     boolean isLogin(Users user);
  10.     
  11.     boolean insertUser(Users user);
  12.     
  13.     boolean updateUser(Users user);
  14.     
  15.     boolean deleteUser(Integer id);
  16. }
  17. 實現(xiàn)類:UserDAO.java
  18. package org.login.dao.Impl;
  19. import java.sql.SQLException;
  20. import java.util.List;
  21. import org.login.dao.IUserDAO;
  22. import org.login.vo.Users;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.beans.factory.annotation.Qualifier;
  25. import org.springframework.stereotype.Service;
  26. import com.ibatis.sqlmap.client.SqlMapClient;
  27. @SuppressWarnings("unchecked")
  28. @Service("userDAO")
  29. public class UserDAO implements IUserDAO {
  30.     @Autowired(required=false)
  31.     @Qualifier("sqlClient")
  32.     private SqlMapClient client = null;
  33.     public SqlMapClient getClient() {
  34.         return client;
  35.     }
  36.     public void setClient(SqlMapClient client) {
  37.         this.client = client;
  38.     }
  39.     @Override
  40.     public boolean deleteUser(Integer id) {
  41.         try {
  42.             client.delete("deleteUser", id);
  43.             return true;
  44.         } catch (SQLException e) {
  45.             e.printStackTrace();
  46.         }
  47.         return false;
  48.     }
  49.     @Override
  50.     public List﹤Users﹥ getAllUser() {
  51.         List﹤Users﹥ list = null;
  52.         try {
  53.             list =  client.queryForList("getAllUser");
  54.         } catch (SQLException e) {
  55.             e.printStackTrace();
  56.         }
  57.         return list;
  58.     }
  59.     @Override
  60.     public boolean insertUser(Users user) {
  61.         try {
  62.             client.insert("insertUser", user);
  63.             return true;
  64.         } catch (SQLException e) {
  65.             e.printStackTrace();
  66.         }
  67.         return false;
  68.     }
  69.     @Override
  70.     public boolean updateUser(Users user) {
  71.         try {
  72.             client.update("updateUser", user);
  73.             return true;
  74.         } catch (SQLException e) {
  75.             e.printStackTrace();
  76.         }
  77.         return false;
  78.     }
  79.     @Override
  80.     public boolean isLogin(Users user) {
  81.         try {
  82.             Users u = (Users) client.queryForObject("checkUser", user);
  83.             if (u != null) {
  84.                 return true;
  85.             }
  86.         } catch (SQLException e) {
  87.             e.printStackTrace();
  88.         }
  89.         return false;
  90.     }
  91.     @Override
  92.     public Users getUserById(Integer id) {
  93.         Users u = null;
  94.         try {
  95.             u = (Users) client.queryForObject("getUserById", id);
  96.         } catch (SQLException e) {
  97.             e.printStackTrace();
  98.         }
  99.         return u;
  100.     }
  101. }

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

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

@Service("userDAO")

@Autowired(required=false)

@Qualifier("sqlClient")

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

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

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

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


當前標題:Struts2.0+ibatis2.3完美整合實例之映射淺析
當前路徑:http://www.5511xx.com/article/dpcgjhc.html