初步學習SSI框架,做的struts2+spring+ibatis框架整合的小實例,實現(xiàn)增刪改查操作。
站在用戶的角度思考問題,與客戶深入溝通,找到臨渭區(qū)網(wǎng)站設計與臨渭區(qū)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋臨渭區(qū)地區(qū)。
項目框架如下所示:
準備工作:導入需要的struts2、spring、ibatis的jar包,這里不一一列舉了。
下面直接上完整的配置文件內(nèi)容和代碼,不說明先后步驟了
一、配置文件
1、spring配置文件applicationContext.xml(業(yè)務邏輯層)
<?xml version="1.0" encoding="UTF-8"?>
classpath*:jdbc.properties
classpath*:/sqlMapConfig.xml
2、數(shù)據(jù)庫參數(shù)配置文件jdbc.properties
jdbc.driverClassName=oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@198.10.3.138:1521:fapdb jdbc.username=fapdb jdbc.password=fapdb
3、ibatis配置文件sqlMapConfig.xml(持久層)
<?xml version="1.0" encoding="UTF-8"?>
4、實體類sql配置文件User.xml(持久層)
<?xml version="1.0" encoding="UTF-8"?>insert into gy_user(USERID,USERNAME,PASSWORD) values(#userid#,#username#,#password#) delete from gy_user where USERID=#id# update gy_user set USERID=#userid#,USERNAME=#username#,PASSWORD=#password# where USERID=#userid#
5、struts參數(shù)配置文件struts.properties
### 默認編碼 struts.i18n.encoding=UTF-8 ### 使用spring裝配工廠 struts.objectFactory = spring struts.objectFactory.spring.autoWire = name struts.objectFactory.spring.useClassCache = true struts.multipart.parser=jakarta struts.multipart.saveDir=/tmp struts.multipart.maxSize=209715200 struts.action.extension=do struts.serve.static=true struts.serve.static.browserCache=true struts.enable.DynamicMethodInvocation = true struts.enable.SlashesInActionNames = false struts.tag.altSyntax=true struts.devMode = false struts.i18n.reload=true struts.ui.templateDir=template struts.ui.templateSuffix=ftl struts.configuration.xml.reload=ture struts.ui.theme=simple struts.velocity.configfile = velocity.properties struts.url.http.port = 80 struts.url.https.port = 443 struts.url.includeParams = get struts.dispatcher.parametersWorkaround = false struts.freemarker.templatesCache=false struts.freemarker.beanwrapperCache=false struts.freemarker.wrapper.altMap=true struts.xslt.nocache=false struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml struts.mapper.alwaysSelectFullNamespace=false
6、struts配置文件struts.xml(控制層)
<?xml version="1.0" encoding="UTF-8" ?>/success.jsp /userResult.jsp /success.jsp /userUpdate.jsp /success.jsp
7、web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>index.jsp contextConfigLocation classpath*:applicationContext.xml org.springframework.web.context.ContextLoaderListener struts org.apache.struts2.dispatcher.FilterDispatcher struts *.do struts *.action struts *.jsp
二、model模型層
實體類User.java
package com.user.model; public class User { private int userid; private String username; private String password; public int getUserid() { return userid; } public String getUsername() { return username; } public String getPassword() { return password; } public void setUserid(int userid) { this.userid = userid; } public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } }
三、Action控制層
userAction.java類
package com.user.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.user.model.User; import com.user.service.UserService; public class userAction extends ActionSupport{ HttpServletRequest request; private User user; private UserService userService; int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } public String insertUser() throws Exception{ userService.insertUser(user); return "success"; } //查詢用戶 public String queryUser() throws Exception{ Listuserlist=userService.queryUser(user); System.out.println("userAction--size--"+userlist.size()); for(int i=0;i
四、Service接口+實現(xiàn)(業(yè)務邏輯層)
1、Service接口
UserService.java類
package com.user.service; import java.util.List; import com.user.model.User; public interface UserService { //添加用戶 public void insertUser(User user) throws Exception; //查詢用戶 public ListqueryUser(User user) throws Exception; //查詢用戶by id public User queryUserById(int id) throws Exception; //刪除用戶 public void deleteUser(int id) throws Exception; //修改用戶 public void updateUser(User user) throws Exception; }
2、Service接口實現(xiàn)
UserServiceImpl.java類
package com.user.service.impl; import java.util.List; import com.user.model.User; import com.user.service.UserService; import com.user.dao.UserDao; public class UserServiceImpl implements UserService{ private UserDao userdao=null; public UserDao getUserdao() { return userdao; } public void setUserdao(UserDao userdao) { this.userdao = userdao; } //添加用戶 public void insertUser(User user) throws Exception { // TODO Auto-generated method stub System.out.println("插入數(shù)據(jù)User開始--->UserService"); userdao.insertUser(user); System.out.println("插入數(shù)據(jù)User結(jié)束--->UserService"); } //查詢用戶 public ListqueryUser(User user) throws Exception{ System.out.println("查詢數(shù)據(jù)User開始--->UserService"); List userlist=userdao.queryUser(user); System.out.println("UserService--size--"+userlist.size()); for(int i=0;i UserService"); return userlist; } //刪除用戶 public void deleteUser(int id) throws Exception { // TODO Auto-generated method stub System.out.println("刪除數(shù)據(jù)User開始--->UserService"); userdao.deleteUser(id); System.out.println("刪除數(shù)據(jù)User開始--->UserService"); } //查詢用戶by id public User queryUserById(int id) throws Exception { // TODO Auto-generated method stub System.out.println("查詢數(shù)據(jù)BY ID開始--->UserService"+"---"+id); User user=userdao.queryUserById(id); System.out.println("查詢數(shù)據(jù)BY ID結(jié)束--->UserService"+"---"+id); return user; } //修改用戶 public void updateUser(User user) throws Exception { // TODO Auto-generated method stub System.out.println("更新數(shù)據(jù)User開始--->UserService"); userdao.updateUser(user); System.out.println("更新數(shù)據(jù)User開始--->UserService"); } }
五、DAO接口+實現(xiàn)(持久層)
1、DAO接口
UserDao.java類
package com.user.dao; import java.util.List; import com.user.model.User;; public interface UserDao { //添加用戶 public void insertUser(User user); //查詢用戶 public ListqueryUser(User user); //查詢用戶by id public User queryUserById(int id); //刪除用戶 public void deleteUser(int id); //修改用戶 public void updateUser(User user); }
2、DAO接口實現(xiàn)
UserServiceImpl.java類
package com.user.dao.impl; import java.util.List; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.user.dao.UserDao; import com.user.model.User; public class UserDaoImpl extends SqlMapClientDaoSupport implements UserDao{ //添加用戶 public void insertUser(User user ){ System.out.println("插入數(shù)據(jù)User開始--->UserDao"+"---"+user.getUserid()+"-"+user.getUsername()+"-"+user.getPassword()); this.getSqlMapClientTemplate().insert("insertUser",user); System.out.println("插入數(shù)據(jù)User結(jié)束--->UserDao"); } //查詢用戶 public ListqueryUser(User user){ System.out.println("查詢數(shù)據(jù)User開始--->UserDao"+"---"+user.getUserid()+"-"+user.getUsername()+"-"+user.getPassword()); List userlist=(List )this.getSqlMapClientTemplate().queryForList("queryUser", user); System.out.println("查詢數(shù)據(jù)User結(jié)束--->UserDao"); return userlist; } //刪除用戶 public void deleteUser(int id) { System.out.println("刪除數(shù)據(jù)User開始--->UserDao"+"---"+id); this.getSqlMapClientTemplate().delete("deleteUser", id); System.out.println("刪除數(shù)據(jù)User結(jié)束--->UserDao"+"---"+id); } //查詢用戶by id public User queryUserById(int id) { System.out.println("查詢數(shù)據(jù)BY ID開始--->UserDao"+"---"+id); User user=(User)this.getSqlMapClientTemplate().queryForObject("queryUserById", id); System.out.println("查詢數(shù)據(jù)BY ID結(jié)束--->UserDao"+"---"+id); return user; } //修改用戶 public void updateUser(User user) { System.out.println("更新數(shù)據(jù)User開始--->UserDao"+"---"+user.getUserid()); this.getSqlMapClientTemplate().update("updateUser", user); System.out.println("更新數(shù)據(jù)User結(jié)束--->UserDao"+"---"+user.getUserid()); } }
六、JSP文件(表示層)
1、index.jsp
2、query.jsp查詢頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
3、userAdd.jsp添加用戶頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
4、userUpdate.jsp修改用戶頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.user.model.User" ;%> <% User user=(User)session.getAttribute("result"); %>
5、userResult.jsp用戶列表
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.user.model.User" ;%> <% Listuserlist=(List )session.getAttribute("userresult"); System.out.println("userResult.jsp--size--"+userlist.size()); for(int i=0;i
<%for(int i=0;i 用戶ID 用戶名 密碼 修改 刪除 <%} %> <%=userlist.get(i).getUserid() %> <%=userlist.get(i).getUsername() %> <%=userlist.get(i).getPassword() %> 修改 刪除
6、success.jsp操作成功頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 操作成功!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。