博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA框架——SSM整合(maven项目),使用IDEA做一个简单的增删改查,使用ajax展示数据
阅读量:3506 次
发布时间: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基础知识(四)&输入映射与输出映射
查看>>
gitflow工作流
查看>>
【MongoDB】update修改器($set、$unset、$inc、$push、$pull、$pop)
查看>>
JAVA 继承
查看>>
电脑键盘突然不能打字,很多键变成快捷键了
查看>>
Hbase表映射Hive表三种方法
查看>>
Java中获取List长度
查看>>
this关键字有什么用处?怎么用? 1.访问成员变量,区分成员变量和局部变量。 2.访问成员方法。 3.访问构造方法。 4.返回对当前对象的引用 5.将对当前对象的引用作为参数传递给其他方法。
查看>>
自学sql
查看>>
基于Springboot的社区开发项目
查看>>
nowcoder 左神算法1
查看>>
code刷题
查看>>
左神进阶2窗口
查看>>
dubbo入门
查看>>
http 错误类型
查看>>
一篇文章解决HTTP 请求头!
查看>>
学习日记02
查看>>
学习日记03
查看>>
学习日记04
查看>>
学习日记08(元组、字典、集合)
查看>>