博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA框架——SSM整合(maven项目),使用IDEA做一个简单的增删改查,使用ajax展示数据
阅读量:3507 次
发布时间:2019-05-20

本文共 8148 字,大约阅读时间需要 27 分钟。

一、SSM编程

  • SSM 编程,即 SpringMVC + Spring + MyBatis 整合,是当前最为流行的 JavaEE 开发技术架构。

  • 其实 SSM 整合的实质,仅仅就是将 MyBatis整合入 Spring。因为 SpringMVC原本就是 Spring的一部分,不用专门整合。

  • SSM 整合的实现方式可分为两种:基于 XML 配置方式,基于注解方式。

二、SSM整合思路

  • SpringMVC:视图层,界面层,负责接收请求,显示处理结果的。

  • Spring:业务层,管理service,dao,工具类对象的。

  • MyBatis:持久层, 访问数据库的

  • 把使用的对象交给合适的容器创建,管理:

    • 第一个容器SpringMVC容器, 管理Controller控制器对象的。写在springmvc配置文件中
    • 第二个容器Spring容器,管理Service,Dao,工具类对象的service,dao对象定义在spring的配置文件中,让spring管理这些对象
  • springmvc容器是spring容器的子容器, 类似java中的继承。 子可以访问父的内容

三、实现步骤

1、使用springdb的mysql库, 表使用student(id auto_increment, name, age)

2、新建maven web项目

3、加入依赖

springmvc,spring,mybatis三个框架的依赖,jackson依赖,mysql驱动,druid连接池
jsp,servlet依赖

4、写web.xml

  • 注册DispatcherServlet ,目的:1.创建springmvc容器对象,才能创建Controller类对象。

    2.创建的是Servlet,才能接受用户的请求。

  • 注册spring的监听器:ContextLoaderListener,目的: 创建spring的容器对象,才能创建service,dao等对象。

  • 注册字符集过滤器,解决post请求乱码的问题

5、创建包, Controller包, service ,dao,实体类包名创建好

6、写springmvc,spring,mybatis的配置文件

  • springmvc配置文件
  • spring配置文件
  • mybatis主配置文件
  • 数据库的属性配置文件

7、写代码, dao接口和mapper文件, service和实现类,controller, 实体类。

8、写jsp页面

四、代码实例

pom文件

junit
junit
4.11
test
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
jsp-api
2.2.1-b03
provided
org.springframework
spring-webmvc
5.2.5.RELEASE
org.springframework
spring-tx
5.2.5.RELEASE
org.springframework
spring-jdbc
5.2.5.RELEASE
com.fasterxml.jackson.core
jackson-core
2.9.0
com.fasterxml.jackson.core
jackson-databind
2.9.0
org.mybatis
mybatis-spring
1.3.1
org.mybatis
mybatis
3.5.1
mysql
mysql-connector-java
5.1.9
com.alibaba
druid
1.1.12
javax.servlet.jsp.jstl
jstl-api
1.2-rev-1
taglibs
standard
1.1.2
src/main/java
**/*.properties
**/*.xml
false
maven-compiler-plugin
3.1
1.8
1.8

web.xml

dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:conf/dispatcherServlet.xml
1
dispatcherServlet
*.do
contextConfigLocation
classpath:conf/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
forceRequestEncoding
true
forceResponseEncoding
true
characterEncodingFilter
/*

springMVC.xml

Mybatis主配置文件

applicationContext.xml文件

dao层接口

public interface StudentDao {
//添加学生 int insertStudent(Student student); //查询所有学生 List
selectStudents();}

dao层对应的mapper文件

insert into student(name,email,age) values (#{name},#{email},#{age});

Service接口及其实现类

public interface StudentService {
int addStudent(Student student); List
findStudents();}@Servicepublic class StudentServiceImpl implements StudentService {
@Autowired private StudentDao studentDao; @Override public int addStudent(Student student) {
int i = studentDao.insertStudent(student); return i; } @Override public List
findStudents() {
return studentDao.selectStudents(); }}

Controller层的处理

@Controller@RequestMapping("/student")public class StudentController {
@Resource private StudentService studentService; //注册学生 @RequestMapping("/addStudent.do") public ModelAndView addStudent(Student student){
ModelAndView modelAndView = new ModelAndView(); String tips="注册失败"; //调用service处理student int nums = studentService.addStudent(student); if (nums > 0) {
//注册成功 tips ="学生【"+student.getName()+"】注册成功"; } //添加数据 modelAndView.addObject("tips",tips); modelAndView.setViewName("result"); return modelAndView; } //处理查询要响应ajax @ResponseBody @RequestMapping("/queryStudent.do") public List
queryStudent(){
//参数检查,简单的一些数据处理 List
students = studentService.findStudents(); return students; }}

index.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%    String basePath = request.getScheme() + "://" +            request.getServerName() + ":" + request.getServerPort() +            request.getContextPath() + "/";%>    功能入口        

addStudent.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%    String basePath = request.getScheme() + "://" +            request.getServerName() + ":" + request.getServerPort() +            request.getContextPath() + "/";%>    添加学生        
姓名
年龄
邮箱
     

list展示页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%    String basePath = request.getScheme() + "://" +            request.getServerName() + ":" + request.getServerPort() +            request.getContextPath() + "/";%>    查询学生ajax            
学号 姓名 年龄 邮箱

转载地址:http://ftxmj.baihongyu.com/

你可能感兴趣的文章
MyBatis 防止 % _ sql 注入攻击 解决方法
查看>>
plsql oracle 无法解析指定的连接标识符
查看>>
Linux后台开发应该具备技能
查看>>
Eclipse Tomcat 无法添加项目
查看>>
SVN更新失败 解决方法
查看>>
关于Java的File.separator
查看>>
linux定时任务的设置
查看>>
MySQL 5.7 完全傻瓜安装教程 图文
查看>>
Hibernate框架概述&SSH框架工作原理以及流程
查看>>
Aapche POI txt 导入excel
查看>>
C语言 ## __VA_ARGS__ 宏
查看>>
C++项目中的extern "C" {}
查看>>
(转)C++中extern “C”含义深层探索
查看>>
【日常小记】linux中强大且常用命令:find、grep
查看>>
Linux多线程编程(不限Linux)
查看>>
C/C++内存泄漏及检测
查看>>
C中的继承和多态
查看>>
linux修改ssh端口和禁止root远程登陆设置
查看>>
What really happens when you navigate to a URL
查看>>
偶遇with ties
查看>>