SSM框架集成(另有增删改查案例,及数据库备份)

来源:互联网 发布:网络摄像机复位按钮 编辑:程序博客网 时间:2024/05/29 19:34

SSM框架集成(另有增删改查案例)

访问项目的路径
http://127.0.0.1/ssm/user/list
如果不想自己集成,下面是下载地址,包含了SSM基本框架及用户增删改查案例
点我下载
项目需要的sql语句

/*SQLyog v10.2 MySQL - 5.7.19-log : Database - test**********************************************************************//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `test`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(20) DEFAULT NULL,  `age` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;/*Data for the table `user` */insert  into `user`(`id`,`name`,`age`) values (2,'唐僧',128),(3,'王母娘娘',3000),(4,'朱八戒',300),(5,'沙悟竞',300),(6,'boy',5000),(7,'大鹏鸟',6000),(8,'玉皇大帝',2000);/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

集成后成功图片

集成图片

分页查询页面
分页查询
修改页面如下
修改页面
项目目录结构
这里写图片描述

配置文件代码

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/testjdbc.user=rootjdbc.password=123456

log4j.properties

log4j.rootLogger = debug,consolelog4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.Threshold = DEBUGlog4j.appender.console.Target = System.outlog4j.appender.console.layout = org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern= %d{ISO8601} [%F:%L][%p]:%m%nlog4j.logger.org.springframework=off

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration></configuration>

spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"    xmlns:task="http://www.springframework.org/schema/task" xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd                    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd                    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd                    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd                    http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd                    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">    <!-- 设置spring扫描范围 -->    <context:component-scan base-package="com.ccd" />    <!-- 使用注解方式的MVC -->    <mvc:annotation-driven />    <!-- 让spring前端控制器,对指定的静态资放行 ,让location下边的所有资源不走前端控制器 -->    <mvc:resources mapping="/resources/**" location="/resources/" />    <!--    配置内部资源视图解析器 -->    <bean        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="viewClass"            value="org.springframework.web.servlet.view.JstlView" />        <property name="prefix" value="/WEB-INF/jsp/" />        <property name="suffix" value=".jsp" />    </bean>    <!-- 属性文件加载(定位)器 :数据库连接信息 -->    <context:property-placeholder location="classpath:jdbc.properties" />    <!-- DBCP数据源 -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName" value="${jdbc.driver}" />        <property name="url" value="${jdbc.url}" />        <property name="username" value="${jdbc.user}" />        <property name="password" value="${jdbc.password}" />    </bean>    <!-- com.公司名.项目名.一级模块名.二级模块名(表名) -->    <!-- /**/ 任意层级任意名称 -->    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="configLocation" value="classpath:mybatis-config.xml" />        <property name="mapperLocations" value="classpath:com/ccd/**/dao/*Mapper.xml" />        <property name="dataSource" ref="dataSource" />    </bean>    <!-- MapperScannerConfigurer 扫描dao接口 -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.ccd.**.dao" />        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>    </bean>    <!-- 配置spring事务管理器 :作用已知数源上 -->    <bean id="transactionManager"        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"></property>    </bean>    <!-- 开启注解方式的事务 :并且让注解方式作用到配好的事务管理器上 -->    <tx:annotation-driven transaction-manager="transactionManager" /></beans>

UserAction.java

package com.ccd.study.sys.user.action;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import com.ccd.study.sys.user.model.User;import com.ccd.study.sys.user.model.UserCondtion;import com.ccd.study.sys.user.service.IUserService;@Controller@RequestMapping("user")public class UserAction {    @Autowired    private IUserService service;// 注入userservice接口    @RequestMapping("list")    // 方法参数中加Map<String,Object> map,用来替换 HttpServletRequest request    // @ModelAttribute("cond")//共享变量 相当于把参数变量扔到request    public String queryList(@ModelAttribute("cond") UserCondtion cond, Map<String, Object> map) {        List<User> list = service.queryList(cond);        map.put("userList", list);        // request.setAttribute("userList", list);        return "sys/user/list";    }    @RequestMapping("toinsert")    // 跳转到新增页面    public String toinsert() {        return "sys/user/insert";    }    @RequestMapping("insert")    // 新增-保存数据方法    public String insert(User user) {        service.insert(user);        return "redirect:list";        // 重定向到本类的@RequestMapping("list")    }    @RequestMapping("toupdate")    // 跳转到修改页面    public String toupdate(int id, Map<String, Object> map) {        map.put("user", service.findById(id));        return "sys/user/update";    }    @RequestMapping("update")    // 修改-保存数据方法    public String update(User user) {        service.update(user);        return "redirect:list";    }    @RequestMapping("todetail")    // 跳转到详细页面    public String todetail(int id, Map<String, Object> map) {        map.put("user", service.findById(id));        return "sys/user/detail";    }    @RequestMapping("delete")    // 删除数据    public String delete(int id) {        service.delete(id);        return "redirect:list";    }}

IUserService.java

package com.ccd.study.sys.user.service;import java.util.List;import com.ccd.study.sys.user.model.User;import com.ccd.study.sys.user.model.UserCondtion;public interface IUserService {    int insert(User user);    int update(User user);    int delete(int id);    List<User> queryList(UserCondtion cond);    User findById(int id);}

UserServiceImpl.java

package com.ccd.study.sys.user.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.ccd.study.sys.user.dao.IUserDao;import com.ccd.study.sys.user.model.User;import com.ccd.study.sys.user.model.UserCondtion;import com.ccd.study.sys.user.service.IUserService;@Servicepublic class UserServiceImpl implements IUserService {    @Autowired    private IUserDao dao;// 注入userdao接口类    @Override    public int insert(User user) {        return dao.insert(user);    }    @Override    public int update(User user) {        return dao.update(user);    }    @Override    public int delete(int id) {        return dao.delete(id);    }    @Override    public List<User> queryList(UserCondtion cond) {        int rowCount = dao.queryCount(cond);// 到数据库去查询记录个数        int pageSize = cond.getPageSize();        cond.setRowCount(rowCount);        cond.setPageCount(rowCount % pageSize == 0 ? rowCount / pageSize : rowCount / pageSize + 1);// 计算总页数        cond.setStart((cond.getCurPage() - 1) * pageSize);// 起始行=(当前页-1)页大小        return dao.queryList(cond);    }    @Override    public User findById(int id) {        return dao.findById(id);    }}

IUserDao.java

package com.ccd.study.sys.user.dao;import java.util.List;import com.ccd.study.sys.user.model.User;import com.ccd.study.sys.user.model.UserCondtion;public interface IUserDao {    int insert(User user);    int update(User user);    int delete(int id);    List<User> queryList(UserCondtion cond);    int queryCount(UserCondtion cond);    User findById(int id);}

userMapper.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.ccd.study.sys.user.dao.IUserDao">    <insert id="insert">        insert into user (name,age) values(#{name},#{age})    </insert>    <update id="update">        update user set name=#{name} , age =#{age} where        id=#{id}    </update>    <delete id="delete">        delete from user where id = #{id}    </delete>    <select id="findById" resultType="com.ccd.study.sys.user.model.User">        select id,name,age from user where id=#{id}    </select>    <select id="queryList" resultType="com.ccd.study.sys.user.model.User">        select id,name,age from user        <where>            <if test="id!=null">                and id=#{id}            </if>            <if test="age!=null">                and age=#{age}            </if>            <if test="name!=null and name!=''">                and name=#{name}            </if>        </where>        limit #{start},#{pageSize}    </select>    <select id="queryCount" resultType="int">        select count(id) from user        <where>            <if test="id!=null">                and id=#{id}            </if>            <if test="age!=null">                and age=#{age}            </if>            <if test="name!=null and name!=''">                and name=#{name}            </if>        </where>    </select></mapper>

User.java

package com.ccd.study.sys.user.model;public class User {    private Integer id;    private Integer age;    private String name;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public String toString() {        return "User [id=" + id + ", age=" + age + ", name=" + name + "]";    }}

增删改查对应的页面

detail.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%request.setAttribute("webPath", request.getContextPath());%>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>update</title></head><body><form action="" name="form1"  id="form1"  method="post">    <table border="1px" >        <tr>            <td>主键</td><td>${user.id}</td>        </tr>           <tr>            <td>姓名</td><td>${user.name}</td>        </tr>           <tr>            <td>年龄</td><td>${user.age}</td>        </tr>    </table></form></body></html>

list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%request.setAttribute("webPath", request.getContextPath());%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><script type="text/javascript" src="${webPath}/resources/js/jquery-1.7.1.min.js" ></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>list</title></head><body><form action="" name="form1"  id="form1"  method="post">    <table border="1px" >        <tr>            <td>主键<input name="id" value="${cond.id}" /> </td>            <td>姓名<input name="name"  value="${cond.name}" > </td>            <td>年龄<input name="age"  value="${cond.age}" > </td>            <td><input type="button" value="查询" onclick="query()" > </td>        </tr>    </table>    <input type="button" value="新增" onclick="toInsert()" />    <table border="1px" >        <tr>            <td>主键</td>            <td>姓名</td>            <td>年龄</td>            <td>修改</td>            <td>删除</td>            <td>详细</td>        </tr>        <c:forEach items="${userList}" var="user" >            <tr>                <td>${user.id}</td>                <td>${user.name}</td>                <td>${user.age}</td>                <td><input type="button" value="修改" onclick="toUpdate('${user.id}')" /></td>                <td><input type="button" value="删除" onclick="toDelete('${user.id}')" /></td>                <td><input type="button" value="详细" onclick="toDetail('${user.id}')" /></td>            </tr>        </c:forEach>    </table>    当前页:<input name="curPage" value="${cond.curPage}" /><br>    页大小:<input name="pageSize" value="${cond.pageSize}" /><br>    总页数:${cond.pageCount}<br>    总记录数:${cond.rowCount}<br></form></body><script type="text/javascript">function toInsert(){//转到新增页    $("#form1").attr("action","${webPath}/user/toinsert");    $("#form1").submit();}function toUpdate(id){//转到修改页    $("#form1").attr("action","${webPath}/user/toupdate?id="+id);    $("#form1").submit();}function toDetail(id){//转到详情页    $("#form1").attr("action","${webPath}/user/todetail?id="+id);    $("#form1").submit();}function toDelete(id){//删除数据    $("#form1").attr("action","${webPath}/user/delete?id="+id);    $("#form1").submit();}function query(){//查询数据    $("#form1").attr("action","${webPath}/user/list");    $("#form1").submit();}</script></html>

update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%request.setAttribute("webPath", request.getContextPath());%>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>update</title></head><body><form action="${webPath}/user/update" name="form1"  id="form1"  method="post">    <input name="id" value="${user.id}" />    <table border="1px" >        <tr>            <td>姓名</td><td><input name="name"  value="${user.name}" > </td>        </tr>           <tr>            <td>年龄</td><td><input name="age"  value="${user.age}" > </td>        </tr>    </table>    <input type="submit"  value="保存" ></form></body></html>
阅读全文
1 0
原创粉丝点击