基于 SpringBoot + MyBatis 的博客系统

本文详细介绍了如何使用SpringBoot和MyBatis搭建一个完整的博客系统,包括项目设计、数据库管理、前后端交互接口设计、登录拦截器、注册功能、博客编辑和删除等,涉及用户和博客管理、前端界面实现等多个环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

1. 项目设计

前端使用 HTML+CSS+JavaScript+JQuery
后端使用 Spring MVC+Spring Boot+MyBatis
在这里插入图片描述

2. 效果展示

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

3. 创建项目并配置文件

1.1 创建 Spring 项目

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

1.2 配置文件

application.properties 配置内容

spring.profiles.active=dev

application-dev.properties 配置内容

spring.datasource.url=jdbc:mysql://localhost:3306/MyBlogSystem?characterEncoding=utf8&useSSL=true
spring.datasource.username=root
spring.datasource.password=0000
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


mybatis.mapper-locations=classpath:mapper/**Mapper.xml

4. 数据库实现用户和博客管理

4.1 设计数据库

这里博客系统, 是一个用户表和博客表,

用户一般分为:

  • 用户Id (每个人一个且互不相同)
  • 用户名 (每个人的用户名不相同)
  • 密码
  • 用户头像(暂不实现)
  • 用户马云地址(暂不实现)

博客一般分为:

  • 博客Id (每篇博客一个且互不相同)
  • 标题
  • 正文
  • 创建时间
  • 修改时间 (这里没用到, 自己想加也可以)
  • 用户Id (可以设置一个外键,这里没设置)
create database if not exists MyBlogSystem;

use MyBlogSystem;

drop table if exists blog;

-- 创建一个博客表
create table blog (
    blogId int primary key auto_increment,
    title varchar(1024),
    content mediumtext,
    postTime datetime,
    userId int
);

drop table if exists user;

-- 创建一个用户信息表
create table user (
    userId int primary key auto_increment,
    username varchar(128) unique,
    password varchar(128)
);

4.2 使用 MyBatis 操作数据库

resources 下创建一个 mapper 包. 包下创建 UserMapper.xml
BlogMapper.xml

  • BlogMapper.xml 里是对博客表的数据库操作
  • UserMapper.xml 里是对用户表的数据库操作

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.mapper.UserMapper">
    <!--  注册一个用户  -->
    <insert id="addUser" keyProperty="userId" keyColumn="userId">
        insert into user(username password) values (#{username}, #{password})
    </insert>

    <!--  通过用户名查找用户信息  -->
    <select id="selectByName" resultType="com.example.demo.model.User">
        select * from user where username = #{username}
    </select>

    <!--  通过用户Id查找用户信息  -->
    <select id="selectById" resultType="com.example.demo.model.User">
        select * from user where userId = #{userId}
    </select>
</mapper>

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.mapper.BlogMapper">
    <!--  查找当前所有的文章  -->
    <select id="getAllBlog" resultType="com.example.demo.model.Blog">
        select * from blog
    </select>

    <!--  通过博客id查找所有的文章  -->
    <select id="getBlogByBid"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值