完整的SSM整合环境源码见我的Gitee:https://gitee.com/coydone/ssm_crud
搭建整合环境
整合说明:SSM整合可以使用多种方式,建议选择
整合的思路:我们是用Spring框架去整合其它两个框架,先搭建整合的环境,先把Spring的配置搭建完成,再使用Spring整合MyBatis框架,最后使用Spring整合SpringMVC框架。
1、创建数据库和表结构
- grade年级表:字段:年级编号:gid;年级名称:gname。
- student学生表:字段:学号:xh;学生名:name;年龄:age;性别:sex;birthday:生日;state:状态;地址:address;年级编号:gid。
此为一对多关系的两张表,一个年级有多个学生。
2、创建Maven的javaweb工程
<groupId>com.coydone</groupId><artifactId>ssm_crud</artifactId>
3、创建包结构
在src/main
下创建文件夹java和resources文件夹,并将其改为源代码目录和资源目录。可以在src下创建test文件夹,将其改为test的测试目录,在test下创建java和resources目录(可以参考Maven工程的目录结构)。
在main/java
下创建com.coydone包,在其下创建包结构:entity、mapper、service、controller、utils包,可以创建一个test包用于测试。
4、配置pom文件中的环境
- 配置ssm的所需依赖
- 配置项目创建和运行的环境
<?
搭建Mybatis的环境
1、编写数据库连接文件db.properties
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/k0503db?useUnicode=true&characterEncoding=utf-8&useSSL=falsejdbc.driverClass=com.mysql.jdbc.Driverjdbc.user=rootjdbc.password=root123
2、编写mybatis配置文件mybatis-config.
<?
我们将Mybatis的配置交给spring的ioc容器进行管理,所以Mybatis中不再配置连接数据库等相关信息。
搭建SpringMVC环境
由于SpringMVC是Spring系列的一部分,Spring对SpringMVC的集成基本上是天然集成。
1、编写springmvc配置文件springmvc.
<?
2、配置web.
<?
使用Spring整合
编写spring的配置文件:applicationContext.
<beans
使用MBG代码自动生成
1、MBG的generator.
连接的数据库及其设置的数据库表根据自己的需求进行修改即可。
<?
2、MBG的工具类,运行main方法就可以自动生成了。它会帮我们自动生成实体类entity、mapper及其mapper.
package com.coydone.utils;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.
测试整合环境
单元测试
1、测试Spring整合Mybatis环境
package com.coydone.test;import com.coydone.entity.Grade;import com.coydone.entity.Student;import com.coydone.mapper.GradeMapper;import com.coydone.mapper.StudentMapper;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;import java.util.UUID;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:applicationContext.
2、测试Spring整合SpringMVC环境
package com.coydone.test;import com.coydone.entity.Student;import com.github.pagehelper.PageInfo;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.web.WebAppConfiguration;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.servlet.MvcResult;import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;import org.springframework.test.web.servlet.setup.MockMvcBuilders;import org.springframework.web.context.WebApplicationContext;import java.util.List;//使用spring测试模块提供的测试请求功能,测试请求crud//spring4测试需要servlet3.0的支持@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfiguration@ContextConfiguration(locations = {"classpath:applicationContext.
功能测试
1、业务层接口
package com.coydone.service;import com.coydone.entity.Student;import java.util.List;public interface StudentService { List<Student> getAll();}
2、业务层实现类
package com.coydone.service.impl;import com.coydone.entity.Student;import com.coydone.entity.StudentExample;import com.coydone.mapper.StudentMapper;import com.coydone.service.StudentService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Service("studentService")public class StudentServiceImpl implements StudentService { @Autowired private StudentMapper studentMapper; @Override public List<Student> getAll() { return studentMapper.selectByExample(new StudentExample()); }}
3、编写控制器
package com.coydone.controller;import com.coydone.entity.Student;import com.coydone.service.StudentService;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import java.util.List;@Controllerpublic class StudentController { @Autowired private StudentService studentService; @RequestMapping("/getAll") public String getAll(Model model){ List<Student> students = studentService.getAll(); model.addAttribute("students",students); return "index"; } @RequestMapping("/getAll2") //分页查询 public String getAll2(@RequestParam(value = "pn",defaultValue = "1")Integer pn,Model model){ //引入分页插件,在查询之前只需要调用,查询的页码,和每页大小 PageHelper.startPage(pn,5); //startPage后紧跟的查询就是分页查询 List<Student> students = studentService.getAll(); //使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了 //封装了详细的信息,包括查询出来的数据,传入连续显示的页数 PageInfo pageInfo = new PageInfo(students,5); model.addAttribute("pageInfo",pageInfo); return "index"; }}
4、编写页面显示数据
<c:forEach items="${students}" var="student"> <tr> <td>${student.xh}</td> <td>${student.name}</td> <td>${student.age}</td> <td>${student.sex}</td> <td>${student.birthday}</td> <td>${student.state}</td> <td>${student.address}</td> </tr></c:forEach>
原文转载:http://www.shaoqun.com/a/478722.html
auction:https://www.ikjzd.com/w/2311
孙琦:https://www.ikjzd.com/w/1638
e邮包:https://www.ikjzd.com/w/594.html?source=tagwish
Spring、SpringMVC、Mybatis的基本整合,包含MBG代码自动生成、PageHelper等内容。完整的SSM整合环境源码见我的Gitee:https://gitee.com/coydone/ssm_crud搭建整合环境整合说明:SSM整合可以使用多种方式,建议选择整合的思路:我们是用Spring框架去整合其它两个框架,先搭建整合的环境,先把Spring的配置搭建完成,再使用Spri
c88:https://www.ikjzd.com/w/1017.html
拍怕网:https://www.ikjzd.com/w/2205
实用干货:外贸人必懂这些航贸英语短句!:https://www.ikjzd.com/home/20640
听说,今年卖家都盯上了这几个类目:https://www.ikjzd.com/home/332
海关总署:关于全面推广《海关专用缴款书》打印改革的公告!:https://www.ikjzd.com/home/11233
No comments:
Post a Comment