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
- SSM框架集成(另有增删改查案例,及数据库备份)
- SSM框架---增删查改
- SSM+Mysql+EasyUI增删改查案例
- SSM框架搭建+easyui增删改查
- 4.数据库(增删改查)备份及恢复
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM 增删改查
- 框架集成hibernate的增删改查
- SQLite数据库增删改查操作案例
- SQLite数据库增删改查操作案例
- 数据库的增删改查案例
- SSM框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- hadoop集群之间迁移分区表
- JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要动静分离?
- 分布式id生成器
- MySQL异常:ERROR 1045 (28000): Unknown error 1045
- Mybatis代码生成器:mybatis-generator (maven方式)
- SSM框架集成(另有增删改查案例,及数据库备份)
- [js]文件上传
- Java编程规范
- 游戏开发学习笔记(十一)装备的穿戴卸下处理
- 数据库设计
- REPL
- Octave个人学习笔记
- js连接sqllite数据库
- 服务器上的WEB项目反复出现MySQL数据库连接失败解决办法