Struts2.0+ibatis2.3整合实例实现服务层及Struts

服务层这里我就不用做介绍了,这里的实现和以前Hibernate的例子基本类同,唯一不同的是使用了Spring2.5的标注方式实现类的注入。

公司主营业务:做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出青山免费做网站回馈大家。

Struts2.0+ibatis2.3整合实例之IUserService.java

 
 
 
  1. package org.login.service;
  2. import java.util.List;
  3. import org.login.vo.Users;
  4. public interface IUserService {
  5.     
  6.     List﹤Users﹥ getAllUser();
  7.     
  8.     Users getUserById(Integer id);
  9.     
  10.     boolean isLogin(Users user);
  11.     
  12.     boolean insertUser(Users user);
  13.     
  14.     boolean updateUser(Users user);
  15.     
  16.     boolean deleteUser(Integer id);
  17. }
  18. 服务层实现:UserService.java
  19. package org.login.service.Impl;
  20. import java.util.List;
  21. import org.login.dao.IUserDAO;
  22. import org.login.service.IUserService;
  23. import org.login.vo.Users;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.beans.factory.annotation.Qualifier;
  26. import org.springframework.stereotype.Service;
  27. @Service("userService")
  28. public class UserService implements IUserService {
  29.     @Autowired(required=false)
  30.     @Qualifier("userDAO")
  31.     private IUserDAO userDAO = null;
  32.     
  33.     public IUserDAO getUserDAO() {
  34.         return userDAO;
  35.     }
  36.     public void setUserDAO(IUserDAO userDAO) {
  37.         this.userDAO = userDAO;
  38.     }
  39.     @Override
  40.     public boolean deleteUser(Integer id) {
  41.         
  42.         return userDAO.deleteUser(id);
  43.     }
  44.     @Override
  45.     public List﹤Users﹥ getAllUser() {
  46.         
  47.         return userDAO.getAllUser();
  48.     }
  49.     @Override
  50.     public boolean insertUser(Users user) {
  51.         
  52.         return userDAO.insertUser(user);
  53.     }
  54.     @Override
  55.     public boolean isLogin(Users user) {
  56.         
  57.         return userDAO.isLogin(user);
  58.     }
  59.     @Override
  60.     public boolean updateUser(Users user) {
  61.         
  62.         return userDAO.updateUser(user);
  63.     }
  64.     @Override
  65.     public Users getUserById(Integer id) {
  66.         
  67.         return userDAO.getUserById(id);
  68.     }
  69. }

Struts层的实现也是比较简单了,与上述的区别都一样,在这里我就不太多说了。

Struts2.0+ibatis2.3整合实例之Login.java

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

到现在为止,我们的底层的类已经全部实现了,下来我们看其配置文件:

Struts2.0+ibatis2.3整合实例之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整合实例之Struts.properties

struts.locale=zh_CN

struts.i18n.encoding=UTF-8

struts.objectFactory=spring

接下来也是与之前例子不同的地方,就是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﹥

这个文件比较简单,只配置了bean的映射文件。

***一个配置文件就是Spring的配置文件了,这个也是最关键的,与以前的配置是截然不同,因为在Spring2.5使用了标注方式注入,同时她了具有了自动的搜索bean的能力,所以配置就相当的简单,如果有不明白的地方,可以写到评论里,或者给我留言,这也是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﹥

这篇就写到这里吧,下篇我们将说明页面层的代码,至于说明我想也不用了,如果有兴趣研究的朋友可以先下载示例代码先看下,具体的下载地址如下:

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

Struts2.0+ibatis2.3整合实例之实现服务层及Struts就向你介绍到这里,希望多你有所帮助。

分享标题:Struts2.0+ibatis2.3整合实例实现服务层及Struts
文章转载:http://www.shufengxianlan.com/qtweb/news31/30481.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联