SpringMVC-整合SSM框架

public int deleteBlogById(int id);

int updateBlog(Blog blog);

Blog queryBlogById(int id);

List queryAllBlogs();

}

7.编写Mapper.xml

==============

<?xml version="1.0" encoding="UTF-8" ?>

select * from blog where id=#{id}

update blog set name=#{name} ,pwd=#{pwd} where id=#{id}

insert into blog(name,pwd) values(#{name},#{pwd})

delete from blog where id=#{id}

select * from blog

8.编写service层的接口和实现类

===================

接口:

package com.yixin.service;

import com.yixin.pojo.Blog;

import java.util.List;

public interface BlogService {

public int addBlog(Blog blog);

public int deleteBlogById(int id);

int updateBlog(Blog blog);

Blog queryBlogById(int id);

List queryAllBlogs();

}

实现类:

package com.yixin.service;

import com.yixin.dao.BlogMapper;

import com.yixin.pojo.Blog;

import org.springframework.stereotype.Controller;

import org.springframework.stereotype.Service;

import java.util.List;

public class BlogServiceImpl implements BlogService{

private BlogMapper blogMapper;

public void setBlogMapper(BlogMapper blogMapper) {

this.blogMapper = blogMapper;

}

public int addBlog(Blog blog) {

return blogMapper.addBlog(blog);

}

public int deleteBlogById(int id) {

return blogMapper.deleteBlogById(id);

}

public int updateBlog(Blog blog) {

return blogMapper.updateBlog(blog);

}

public Blog queryBlogById(int id) {

return blogMapper.queryBlogById(id);

}

public List queryAllBlogs() {

return blogMapper.queryAllBlogs();

}

}

9.编写controller层

===============

package com.yixin.controller;

import com.yixin.pojo.Blog;

import com.yixin.service.BlogService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller

@RequestMapping(“/blog”)

public class BlogController {

@Autowired

@Qualifier(“BlogServiceImpl”)

private BlogService blogService;

@RequestMapping(“/allBlog”)

public String list(Model model) {

List list = blogService.queryAllBlogs();

System.out.println(“test”);

System.out.println(list);

model.addAttribute(“list”, list);

return “allBlog”;

}

@RequestMapping(“/toAddBlog”)

public String toAddPaper() {

return “addBlog”;

}

@RequestMapping(“/addBlog”)

public String addPaper(Blog blog) {

System.out.println(blog);

blogService.addBlog(blog);

return “redirect:/blog/allBlog”;

}

@RequestMapping(“/toUpdateBlog”)

public String toUpdateBook(Model model, int id) {

Blog blogs = blogService.queryBlogById(id);

System.out.println(blogs);

model.addAttribute(“blog”,blogs );

return “updateBlog”;

}

@RequestMapping(“/updateBlog”)

public String updateBook(Model model, Blog blog) {

System.out.println(blog);

blogService.updateBlog(blog);

Blog blog1 = blogService.queryBlogById(blog.getId());

model.addAttribute(“blogs”, blog1);

return “redirect:/blog/allBlog”;

}

@RequestMapping(“/del/{blogId}”)

public String deleteBook(@PathVariable(“blogId”) int id) {

blogService.deleteBlogById(id);

return “redirect:/blog/allBlog”;

}

}

编写配置类

=====

10.编写MyBatis层

=============

(1)编写数据库配置文件db.properties

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/mybatis_blog?useSSL=true&useUnicode=true&characterEncoding=UTF-8\

&autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

username=root

password=123456

(2)编写MyBatis核心配置文件mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>

11.编写Spring层

============

(1)编写Spring整合Mybatis的相关的配置文件:spring-dao.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:context=“http://www.springframework.org/schema/context”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

https://www.springframework.org/schema/context/spring-context.xsd">

<context:property-placeholder location=“classpath:db.properties” system-properties-mode=“FALLBACK”/>

<–支持过滤由指定的创建接口或注解创建映射器,这样就可以直接使用Mapper了–>

(2)Spring整合service层

<?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:context=“http://www.springframework.org/schema/context”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

https://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package=“com.yixin.service” />

12.SpringMVC配置

==============

(1)web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns=“http://xmlns.jcp.org/xml/ns/javaee”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd”

version=“4.0”>

DispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:applicationContext.xml

1

DispatcherServlet

/

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

utf-8

encodingFilter

/*

15

(2)spring-mvc.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:context=“http://www.springframework.org/schema/context”

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/mvc

https://www.springframework.org/schema/mvc/spring-mvc.xsd">

<mvc:annotation-driven />

mvc:default-servlet-handler/

<context:component-scan base-package=“com.yixin.controller” />

13.编写前端jsp文件

============

目录如下:

(1)index.jsp

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

首页

进入首页

(2)addBlog.jsp

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

新增博客

新增博客

博客名字:


博客密码:


(3)allBlog.jsp

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

博客列表

博客列表 —— 显示所有博客

新增

博客编号 博客名字 博客密码

<c:forEach var=“blog” items=“${requestScope.get(‘list’)}”>

${blog.getId()} ${blog.getName()} ${blog.getPwd()}

更改 |

删除

</c:forEach>

(4)updateBlog.jsp

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

修改信息

修改信息

博客名称:

博客密码:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
v class=“col-md-12 column”>

修改信息

博客名称:

博客密码:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-1H4ENDPr-1715086173767)]

[外链图片转存中…(img-8KcKE07y-1715086173768)]

[外链图片转存中…(img-Qg715btp-1715086173768)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值