派大星的小站

将之前写的博客项目改为SSM项目

1.创建项目

创建一个SpringBoot项目,添加如下依赖:
在这里插入图片描述

2.数据库实现及管理

数据库使用之前的即可.
在这里插入图片描述

2.1使用MaBatis操作数据库

2.1.1 UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.model.UserMapper">
    <insert id="insert">
        insert into user(username,password) values(#{username},#{password});
    </insert>

    <select id="selectById" resultType="com.example.demo.model.User">
        select * from user where userId = #{userId}
    </select>

    <select id="selectByName" resultType="com.example.demo.model.User">
        select * from user where username = #{username}
    </select>


</mapper>

2.1.2 BlogMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.model.BlogMapper">

    <!-- 发布一篇博客 -->
    <insert id="insert">
        insert into blog values(null,#{title},#{blog_content},#{userId},now())
    </insert>

    <!-- 根据博客id查找博客 -->
    <select id="selectByBlogId" resultType="com.example.demo.model.Blog">
        select * from blog where blogId = #{blogId}
    </select>

    <!-- 根据用户id查找该用户所有博客 -->
    <select id="selectByUserId" resultType="com.example.demo.model.Blog">
        select * from blog where userId = #{userId}
    </select>

    <!-- 查询所有博客 -->
    <select id="selectAll" resultType="com.example.demo.model.Blog">
        select * from blog order by postTime desc
    </select>


    <!-- 根据博客id删除博客 -->
    <delete id="deleteByBlogId">
        delete from blog where blogId = #{blogId}
    </delete>
</mapper>

2.2 实体类

2.2.1 Blog类

@Data
public class Blog {
    private int blogId;
    private String title;
    private String blog_content;
    private int userId;
    private Timestamp postTime;

    public String getPostTime() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return simpleDateFormat.format(postTime);
    }
}

2.2.2 User类

@Data
public class User {
    private int userId = 0;
    private String username = "";
    private String password = "";
}

2.3 接口类

2.3.1 BlogMapper

@Mapper
public interface BlogMapper {
    int deleteByBlogId(Integer blogId);
    Blog selectByBlogId(Integer blogId);
    List<Blog> selectByUserId(Integer userId);
    int insert(Blog blog);
    List<Blog> selectAll();
}

2.3.2 UserMapper

@Mapper
public interface BlogMapper {
    int deleteByBlogId(Integer blogId);
    Blog selectByBlogId(Integer blogId);
    List<Blog> selectByUserId(Integer userId);
    int insert(Blog blog);
    List<Blog> selectAll();
}

2.4 调用类

2.4.1 BlogService

@Service
public class BlogService {

    @Resource
    private BlogMapper blogMapper;

    public int insert(Blog blog){
        return blogMapper.insert(blog);
    }

    public List<Blog> selectByUserId(Integer userId){
        return blogMapper.selectByUserId(userId);
    }

    public Blog selectByBlogId(Integer BlogId){
        return blogMapper.selectByBlogId(BlogId);
    }

    public void deleteByBlogId(Integer BlogId){
        blogMapper.deleteByBlogId(BlogId);
    }

    public List<Blog> selectAll(){
        return blogMapper.selectAll();
    }
}

2.4.2 UserService

@Service
public class UserService {
    @Resource
    private UserMapper userMapper;

    public User selectById(Integer id){
        return userMapper.selectById(id);
    }

    public int insert(User user){
        return userMapper.insert(user);
    }

    public User selectByName(String username){
        return userMapper.selectByName(username);
    }
}

3. 前后端约定

1
在这里插入图片描述2

在这里插入图片描述3

在这里插入图片描述
4
在这里插入图片描述
5
在这里插入图片描述6
在这里插入图片描述
7
在这里插入图片描述
8
在这里插入图片描述

4. 导入前端代码

前端代码基本不用修改,直接引入即可

5. 编写后端代码

5.1 实现返回类

在这里插入图片描述

5.2 实现博客主页和详情页

和原来一样,我们依旧可以通过判断是否有拥有参数来实现跳转到博客主页还是详情页

在这里插入图片描述在这里插入图片描述在这里插入图片描述
具体的可参考之前的博客: 博客系统

5.3 实现登录页

在这里插入图片描述
在这里插入图片描述

5.4 实现登录判断-拦截器

5.4.1 实现自定义拦截器

public class LoginIntercept implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession(false);
        if(session != null && session.getAttribute("user") != null){
            return true;
        }
        response.setStatus(401);
        response.sendRedirect("/login.html");
        return false;
    }
}

5.4.2 将自定义拦截器加入到系统配置中

@Configuration
public class APPConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginIntercept()).
                //所有路由都拦截
                addPathPatterns("/**").
                //不拦截这个后缀的所有文件
                excludePathPatterns("/**/*.css").
                excludePathPatterns("/**/*.js").
                excludePathPatterns("/**/*.png").
                excludePathPatterns("/**/*.jpg").
                //登录页和注册页也不用拦截
                excludePathPatterns("/**/login.html").
                excludePathPatterns("/**/register.html").
                excludePathPatterns("/**/login").
                excludePathPatterns("/**/register");
    }
}

5.4.3 登录判断

在这里插入图片描述在这里插入图片描述

5.5 获取博客作者信息

在这里插入图片描述
在这里插入图片描述

5.6 发布博客

在这里插入图片描述在这里插入图片描述

5.7 注销

在这里插入图片描述

5.8 删除博客

在这里插入图片描述
在这里插入图片描述

5.9 注册

在这里插入图片描述
在这里插入图片描述

6. 部署到云服务器

6.1打包

在这里插入图片描述

6.2 找到该包

在这里插入图片描述

6.3 拖拽发送

在这里插入图片描述

6.4 运行

java - jar 加包名即可运行
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Xposed派大星是一个非常受欢迎的Android开发工具,它允许用户通过安装模块来定制和修改他们的设备。这个工具可以在不修改设备固件或刷机的情况下改变Android系统的行为。用户只需安装Xposed框架,并在框架上安装各种模块,就能更改系统的各个方面和功能。 Xposed派大星的使用非常简单,不需要专业的编程知识。在安装好框架后,用户可以选择性地下载和安装各种模块,这些模块可以实现诸如伪装应用标识、修改系统设置、去除广告、增加功能等等的目的。可以说,Xposed派大星为用户提供了在不更改设备固件的情况下个性化定制他们的Android设备的方式。 Xposed派大星的优点是它的灵活性和可定制性。用户可以根据自己的需求选择安装适合的模块,将Android设备调整得更加适合自己的使用习惯和喜好。另外,由于不需要刷机操作,所以使用Xposed派大星的风险相对较低,用户可以随时卸载模块或者禁用框架,恢复设备到初始状态。 然而,使用Xposed派大星也存在一些风险和注意事项。由于它可以修改系统的行为,不正确的使用或安装不可靠的模块可能导致系统不稳定甚至无法正常运行。因此,在使用Xposed派大星之前,用户应该对自己的操作有一定的了解,并注意安装来自可信来源的模块。 总体而言,Xposed派大星是一个功能强大且受欢迎的Android开发工具,它为用户提供了个性化定制Android设备的途径。用户可以根据自己的需求安装各种模块,定制自己的设备功能,但在使用时也要注意风险和慎重选择模块,以保障系统的稳定性和安全性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵宝宝养的的小窝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值