struts2 mysql 增删_struts2+spring+ibatis框架整合实现增删改查

struts2+spring+ibatis框架整合实现增删改查

发布时间:2020-09-04 21:18:17

来源:脚本之家

阅读:111

作者:gongye_ye

初步学习SSI框架,做的struts2+spring+ibatis框架整合的小实例,实现增删改查操作。

项目框架如下所示:

6f4fbc4fc04883622b4c73f54519656c.png

准备工作:导入需要的struts2、spring、ibatis的jar包,这里不一一列举了。

下面直接上完整的配置文件内容和代码,不说明先后步骤了

一、配置文件

1、spring配置文件applicationContext.xml(业务逻辑层)

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

classpath*:jdbc.properties

destroy-method="close">

classpath*:/sqlMapConfig.xml

2、数据库参数配置文件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(持久层)

/p>

"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

enhancementEnabled="true"

lazyLoadingEnabled="false"

maxTransactions="32"

maxRequests="512"

maxSessions="128"

useStatementNamespaces="false"/>

4、实体类sql配置文件User.xml(持久层)

/p>

PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"

"http://ibatis.apache.org/dtd/sql-map-2.dtd">

insert into gy_user(USERID,USERNAME,PASSWORD) values(#userid#,#username#,#password#)

select USERID,USERNAME,PASSWORD from gy_user

USERID=#userid#

order by USERID

select USERID,USERNAME,PASSWORD from gy_user where USERID=#id#

delete from gy_user where USERID=#id#

update gy_user set USERID=#userid#,USERNAME=#username#,PASSWORD=#password# where USERID=#userid#

5、struts参数配置文件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(控制层)

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

/success.jsp

/userResult.jsp

/success.jsp

/userUpdate.jsp

/success.jsp

7、web.xml配置文件

xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

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{

List userlist=userService.queryUser(user);

System.out.println("userAction--size--"+userlist.size());

for(int i=0;i

System.out.println("userAction--"+userlist.get(i).getUserid()+"-"+userlist.get(i).getUsername()+"-"+userlist.get(i).getPassword());

}

ActionContext.getContext().getSession().put("userresult", userlist);

System.out.println("*****");

return "userResult";

}

//删除用户

public String deleteUser() throws Exception{

System.out.println("userid:"+id);

userService.deleteUser(id);

return "successdelete";

}

//查询用户by id

public String queryUserById() throws Exception{

System.out.println("userid:"+id);

User user=userService.queryUserById(id);

System.out.println("--userAction--"+user.getUserid()+"--"+user.getUsername()+"--"+user.getPassword());

ActionContext.getContext().getSession().put("result", user);

return "querybyidRes";

}

//修改用户

public String updateUser() throws Exception{

userService.updateUser(user);

return "successupdate";

}

}

四、Service接口+实现(业务逻辑层)

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 List queryUser(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接口实现

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("插入数据User开始--->UserService");

userdao.insertUser(user);

System.out.println("插入数据User结束--->UserService");

}

//查询用户

public List queryUser(User user) throws Exception{

System.out.println("查询数据User开始--->UserService");

List userlist=userdao.queryUser(user);

System.out.println("UserService--size--"+userlist.size());

for(int i=0;i

System.out.println("UserService--"+userlist.get(i).getUserid()+"-"+userlist.get(i).getUsername()+"-"+userlist.get(i).getPassword());

}

System.out.println("查询数据User结束--->UserService");

return userlist;

}

//删除用户

public void deleteUser(int id) throws Exception {

// TODO Auto-generated method stub

System.out.println("删除数据User开始--->UserService");

userdao.deleteUser(id);

System.out.println("删除数据User开始--->UserService");

}

//查询用户by id

public User queryUserById(int id) throws Exception {

// TODO Auto-generated method stub

System.out.println("查询数据BY ID开始--->UserService"+"---"+id);

User user=userdao.queryUserById(id);

System.out.println("查询数据BY ID结束--->UserService"+"---"+id);

return user;

}

//修改用户

public void updateUser(User user) throws Exception {

// TODO Auto-generated method stub

System.out.println("更新数据User开始--->UserService");

userdao.updateUser(user);

System.out.println("更新数据User开始--->UserService");

}

}

五、DAO接口+实现(持久层)

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 List queryUser(User user);

//查询用户by id

public User queryUserById(int id);

//删除用户

public void deleteUser(int id);

//修改用户

public void updateUser(User user);

}

2、DAO接口实现

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("插入数据User开始--->UserDao"+"---"+user.getUserid()+"-"+user.getUsername()+"-"+user.getPassword());

this.getSqlMapClientTemplate().insert("insertUser",user);

System.out.println("插入数据User结束--->UserDao");

}

//查询用户

public List queryUser(User user){

System.out.println("查询数据User开始--->UserDao"+"---"+user.getUserid()+"-"+user.getUsername()+"-"+user.getPassword());

List userlist=(List)this.getSqlMapClientTemplate().queryForList("queryUser", user);

System.out.println("查询数据User结束--->UserDao");

return userlist;

}

//删除用户

public void deleteUser(int id) {

System.out.println("删除数据User开始--->UserDao"+"---"+id);

this.getSqlMapClientTemplate().delete("deleteUser", id);

System.out.println("删除数据User结束--->UserDao"+"---"+id);

}

//查询用户by id

public User queryUserById(int id) {

System.out.println("查询数据BY ID开始--->UserDao"+"---"+id);

User user=(User)this.getSqlMapClientTemplate().queryForObject("queryUserById", id);

System.out.println("查询数据BY ID结束--->UserDao"+"---"+id);

return user;

}

//修改用户

public void updateUser(User user) {

System.out.println("更新数据User开始--->UserDao"+"---"+user.getUserid());

this.getSqlMapClientTemplate().update("updateUser", user);

System.out.println("更新数据User结束--->UserDao"+"---"+user.getUserid());

}

}

六、JSP文件(表示层)

1、index.jsp

添加用户

查询/管理用户

2、query.jsp查询页面

用户ID:

3、userAdd.jsp添加用户页面

用户ID:
用户名:
密码:

4、userUpdate.jsp修改用户页面

User user=(User)session.getAttribute("result");

%>

用户ID:
用户名:
密码:

5、userResult.jsp用户列表

List userlist=(List)session.getAttribute("userresult");

System.out.println("userResult.jsp--size--"+userlist.size());

for(int i=0;i

System.out.println("userResult.jsp--"+userlist.get(i).getUserid()+"-"+userlist.get(i).getUsername()+"-"+userlist.get(i).getPassword());

}

%>

用户ID用户名密码修改删除
修改删除

6、success.jsp操作成功页面

操作成功!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值