国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Struts2.0+ibatis2.3整合實(shí)例實(shí)現(xiàn)服務(wù)層及Struts - 51CTO.C...
    Struts2.0+ibatis2.3整合實(shí)例實(shí)現(xiàn)服務(wù)層及Struts是如何達(dá)成的呢?本文將會(huì)給你這方面的講解。

    服務(wù)層這里我就不用做介紹了,這里的實(shí)現(xiàn)和以前Hibernate的例子基本類同,唯一不同的是使用了Spring2.5的標(biāo)注方式實(shí)現(xiàn)類的注入。

    Struts2.0+ibatis2.3整合實(shí)例之IUserService.java

            
    1. package org.login.service;  
    2.  
    3. import java.util.List;  
    4.  
    5. import org.login.vo.Users;  
    6.  
    7. public interface IUserService {  
    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. 服務(wù)層實(shí)現(xiàn):UserService.java  
    23.  
    24. package org.login.service.Impl;  
    25.  
    26. import java.util.List;  
    27.  
    28. import org.login.dao.IUserDAO;  
    29. import org.login.service.IUserService;  
    30. import org.login.vo.Users;  
    31. import org.springframework.beans.factory.annotation.Autowired;  
    32. import org.springframework.beans.factory.annotation.Qualifier;  
    33. import org.springframework.stereotype.Service;  
    34.  
    35. @Service("userService")  
    36. public class UserService implements IUserService {  
    37.  
    38.     @Autowired(required=false)  
    39.     @Qualifier("userDAO")  
    40.     private IUserDAO userDAO = null;  
    41.       
    42.     public IUserDAO getUserDAO() {  
    43.         return userDAO;  
    44.     }  
    45.  
    46.     public void setUserDAO(IUserDAO userDAO) {  
    47.         this.userDAO = userDAO;  
    48.     }  
    49.  
    50.     @Override 
    51.     public boolean deleteUser(Integer id) {  
    52.           
    53.         return userDAO.deleteUser(id);  
    54.     }  
    55.  
    56.     @Override 
    57.     public List﹤Users﹥ getAllUser() {  
    58.           
    59.         return userDAO.getAllUser();  
    60.     }  
    61.  
    62.     @Override 
    63.     public boolean insertUser(Users user) {  
    64.           
    65.         return userDAO.insertUser(user);  
    66.     }  
    67.  
    68.     @Override 
    69.     public boolean isLogin(Users user) {  
    70.           
    71.         return userDAO.isLogin(user);  
    72.     }  
    73.  
    74.     @Override 
    75.     public boolean updateUser(Users user) {  
    76.           
    77.         return userDAO.updateUser(user);  
    78.     }  
    79.  
    80.     @Override 
    81.     public Users getUserById(Integer id) {  
    82.           
    83.         return userDAO.getUserById(id);  
    84.     }  
    85.  

    Struts層的實(shí)現(xiàn)也是比較簡(jiǎn)單了,與上述的區(qū)別都一樣,在這里我就不太多說(shuō)了。

    Struts2.0+ibatis2.3整合實(shí)例之Login.java

            
    1.  package org.login.actions;  
    2.  
    3. import java.util.List;  
    4.  
    5. import javax.servlet.http.HttpServletRequest;  
    6.  
    7. import org.apache.struts2.interceptor.ServletRequestAware;  
    8. import org.login.service.IUserService;  
    9. import org.login.vo.Users;  
    10. import org.springframework.beans.factory.annotation.Autowired;  
    11. import org.springframework.beans.factory.annotation.Qualifier;  
    12. import org.springframework.stereotype.Service;  
    13.  
    14. import com.opensymphony.xwork2.ActionSupport;  
    15.  
    16. @SuppressWarnings({"serial","unchecked"})  
    17. @Service("login")  
    18. public class Login extends ActionSupport implements ServletRequestAware {  
    19.  
    20.     private static final String UPDATE = "update";  
    21.       
    22.     private HttpServletRequest request = null;  
    23.       
    24.     @Autowired(required = false)  
    25.     @Qualifier("userService")  
    26.     private IUserService userService = null;  
    27.       
    28.     private String id = null;  
    29.     private String name = null;  
    30.     private String password = null;  
    31.       
    32.     public String getName() {  
    33.         return name;  
    34.     }  
    35.  
    36.     public void setName(String name) {  
    37.         this.name = name;  
    38.     }  
    39.  
    40.     public String getPassword() {  
    41.         return password;  
    42.     }  
    43.  
    44.     public void setPassword(String password) {  
    45.         this.password = password;  
    46.     }  
    47.       
    48.     public String getId() {  
    49.         return id;  
    50.     }  
    51.  
    52.     public void setId(String id) {  
    53.         this.id = id;  
    54.     }  
    55.       
    56.     public IUserService getUserService() {  
    57.         return userService;  
    58.     }  
    59.  
    60.     public void setUserService(IUserService userService) {  
    61.         this.userService = userService;  
    62.     }  
    63.  
    64.     @Override 
    65.     public String execute() throws Exception {  
    66.         Users user = new Users();  
    67.         user.setUserName(name);  
    68.         user.setPassword(password);  
    69.         if (getUserService().isLogin(user)) {  
    70.             return SUCCESS;  
    71.         }  
    72.         return INPUT;  
    73.     }  
    74.       
    75.     public String save() throws Exception {  
    76.         Users user = new Users();  
    77.         user.setUserName(name);  
    78.         user.setPassword(password);  
    79.         if (getUserService().insertUser(user)) {  
    80.             return SUCCESS;  
    81.         }  
    82.         return ERROR;  
    83.     }  
    84.  
    85.     public String update() throws Exception {  
    86.         Users user = null;  
    87.         String action = request.getParameter("action");  
    88.         String id = request.getParameter("id");  
    89.         if ("loading".equals(action)) {  
    90.               
    91.             user = new Users();  
    92.             user = getUserService().getUserById(Integer.valueOf(id));  
    93.             if (null != user) {  
    94.                 request.setAttribute("user", user);  
    95.             }  
    96.             return UPDATE;  
    97.               
    98.         } else {  
    99.             user = new Users();  
    100.             user.setUserName(name);  
    101.             user.setPassword(password);  
    102.             user.setId(Integer.valueOf(id));  
    103.             if (getUserService().updateUser(user)) {  
    104.                 return SUCCESS;  
    105.             }  
    106.         }  
    107.           
    108.         return ERROR;  
    109.     }  
    110.       
    111.     public String delete() throws Exception {  
    112.         String id = request.getParameter("id");  
    113.         if (getUserService().deleteUser(Integer.valueOf(id))) {  
    114.             return SUCCESS;  
    115.         }  
    116.         return ERROR;  
    117.     }  
    118.       
    119.       
    120.     public String findAllUsers() throws Exception {  
    121.         List﹤Users﹥ list = getUserService().getAllUser();   
    122.         if (list.size() ﹥ 0) {  
    123.             request.setAttribute("list", list);  
    124.             return SUCCESS;  
    125.         }  
    126.         return ERROR;  
    127.     }  
    128.  
    129.     @Override 
    130.     public void setServletRequest(HttpServletRequest request) {  
    131.         this.request = request;          
    132.     }  

    到現(xiàn)在為止,我們的底層的類已經(jīng)全部實(shí)現(xiàn)了,下來(lái)我們看其配置文件:

    Struts2.0+ibatis2.3整合實(shí)例之struts.xml

            
    1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
    2. ﹤!DOCTYPE struts PUBLIC  
    3.         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
    4.         "http://struts.apache.org/dtds/struts-2.0.dtd"﹥  
    5. ﹤struts﹥  
    6.     ﹤include file="struts-default.xml"/﹥  
    7.     ﹤package name="struts2" extends="struts-default"﹥  
    8.         ﹤action name="logon" class="login"﹥  
    9.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
    10.             ﹤result name="input"﹥/login.jsp﹤/result﹥  
    11.         ﹤/action﹥  
    12.         ﹤action name="save" class="login" method="save"﹥  
    13.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
    14.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
    15.         ﹤/action﹥  
    16.         ﹤action name="update" class="login" method="update"﹥  
    17.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
    18.             ﹤result name="update"﹥/update.jsp﹤/result﹥  
    19.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
    20.         ﹤/action﹥  
    21.         ﹤action name="delete" class="login" method="delete"﹥  
    22.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
    23.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
    24.         ﹤/action﹥  
    25.         ﹤action name="show" class="login" method="findAllUsers"﹥  
    26.             ﹤result name="success"﹥/list.jsp﹤/result﹥  
    27.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
    28.         ﹤/action﹥  
    29.     ﹤/package﹥  
    30. ﹤/struts﹥ 

    Struts2.0+ibatis2.3整合實(shí)例之Struts.properties

    struts.locale=zh_CN

    struts.i18n.encoding=UTF-8 

    struts.objectFactory=spring 

    接下來(lái)也是與之前例子不同的地方,就是ibatis的配置文件:

    config.xml

            
    1.  ﹤?xml version="1.0" encoding="UTF-8"?﹥  
    2. ﹤!DOCTYPE sqlMapConfig        
    3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
    4.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"﹥  
    5.       
    6. ﹤sqlMapConfig﹥  
    7.     ﹤sqlMap resource="org/login/vo/Users.xml"/﹥  
    8. ﹤/sqlMapConfig﹥ 

    這個(gè)文件比較簡(jiǎn)單,只配置了bean的映射文件。

    最后一個(gè)配置文件就是Spring的配置文件了,這個(gè)也是最關(guān)鍵的,與以前的配置是截然不同,因?yàn)樵赟pring2.5使用了標(biāo)注方式注入,同時(shí)她了具有了自動(dòng)的搜索bean的能力,所以配置就相當(dāng)?shù)暮?jiǎn)單,如果有不明白的地方,可以寫到評(píng)論里,或者給我留言,這也是Spring2.5最難理解的地方了。

    applicationContext.xml

            
    1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
    2. ﹤beans xmlns="http://www.springframework.org/schema/beans" 
    3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    4.        xmlns:context="http://www.springframework.org/schema/context" 
    5.        xsi:schemaLocation="http://www.springframework.org/schema/beans   
    6.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
    7.            http://www.springframework.org/schema/context  
    8.            http://www.springframework.org/schema/context/spring-context-2.5.xsd"﹥  
    9.       
    10.     ﹤context:annotation-config /﹥  
    11.     ﹤bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"﹥  
    12.         ﹤property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" /﹥  
    13.         ﹤property name="url" value="jdbc:jtds:sqlserver://localhost:1433/pubs" /﹥  
    14.         ﹤property name="username" value="sa" /﹥  
    15.         ﹤property name="password" value="aa" /﹥  
    16.     ﹤/bean﹥  
    17.       
    18.     ﹤bean id="sqlClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"﹥  
    19.         ﹤property name="dataSource"﹥  
    20.             ﹤ref local="dataSource"/﹥  
    21.         ﹤/property﹥  
    22.         ﹤property name="configLocation"﹥  
    23.             ﹤value﹥classpath:config.xml﹤/value﹥  
    24.         ﹤/property﹥  
    25.     ﹤/bean﹥  
    26.     ﹤context:component-scan base-package="org.login" /﹥  
    27. ﹤/beans﹥ 

    這篇就寫到這里吧,下篇我們將說(shuō)明頁(yè)面層的代碼,至于說(shuō)明我想也不用了,如果有興趣研究的朋友可以先下載示例代碼先看下,具體的下載地址如下:

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

    Struts2.0+ibatis2.3整合實(shí)例之實(shí)現(xiàn)服務(wù)層及Struts就向你介紹到這里,希望多你有所幫助。

    【編輯推薦】

    1. 在iBATIS.NET中調(diào)用存儲(chǔ)過(guò)程淺析
    2. Struts2.0+Springframework2.5+ibatis2.3完美整合實(shí)例
    3. Struts2.0+ibatis2.3完美整合實(shí)例之映射淺析
    4. iBATIS.NET字段映射自定義對(duì)象淺析
    5. iBATIS.NET字段映射自定義對(duì)象淺析
    【責(zé)任編輯:李彥光 TEL:(010)68476606】

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使ibatis支持hibernate式的物理分頁(yè)
iBatis入門
MyBatis 簡(jiǎn)單入門
如何手寫Mybatis?
POI3.5讀取Excel2007
jqGrid基礎(chǔ)學(xué)習(xí):3jqGrid與后臺(tái)的交互(基于struts2) | 曾華水的博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服