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开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-9KsSTG2b-1713421098556)]
[外链图片转存中…(img-5Drb7WD2-1713421098557)]
[外链图片转存中…(img-QfLJVpEB-1713421098558)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
[外链图片转存中…(img-Iykz9t47-1713421098558)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!