个人博客系统(SSM)

本文档将介绍如何利用Spring、SpringMVC和MyBatis(SSM)框架搭建一个简单的个人博客系统,特别关注日记模块的实现。后台管理中运用了EasyUI进行界面设计。数据库采用personal_blog,其中包含diary表,详细描述了从创建Maven工程到配置数据库、日志、资源路径等全过程。
摘要由CSDN通过智能技术生成

简单做一个个人博客系统,以博客中的日记模块为例。后台使用easyui。

数据库:personal_blog

日记表:diary

字段:


创建Maven工程

pom.xml文件

<dependencies>
<!-- mybatis核心包 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.1</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.29</version>
</dependency>
<!--日志包-->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.1</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>
<!--spring数据库-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.11.RELEASE</version>
</dependency>
<!--aop-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>4.3.11.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.11.RELEASE</version>
</dependency>
<!--spring-mybatis整合包-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.1</version>
</dependency>
<!--spring MVC相关包-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.11.RELEASE</version>
</dependency>
<!--JSTL的目的就是在JSTL页面中美观的输出数据,它内置了很多标签库,包括很多逻辑判断,迭代,函数,数据库标签-->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<!--mybatis分页插件-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.2.1</version>
</dependency>
<!-- Jackson Json处理工具包 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.4</version>
</dependency>
<!--文件上传包-->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>
</dependencies>

<!--构建项目需要的信息-->
<build>
    <finalName>ssm-blog-admin</finalName>
    <!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。-->
    <!--maven工程默认只导入resources下的配置文件 -->
    <resources>
        <!--这个元素描述了项目相关或测试相关的所有资源路径,-->
        <!--导入mybatis-mapper.xml文件 -->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <!--扫描存放资源的路径 -->
            <directory>src/main/resources</directory>
            <!--包含的内容列表 -->
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>
实体类pojo

Diary.java

public class Diary {
    private Integer id;  //主键ID
    private Integer userId;  //用户ID
    private Date createdDate; //日记创建时间
    private String content;   //日记内容
    private String title;  //日记标题
    private int status;   //身份权限,1:有效,0:无效
    private String nickname;   //昵称
    private AdminUser adminUser;  //管理员

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public AdminUser getAdminUser() {
        return adminUser;
    }

    public void setAdminUser(AdminUser adminUser) {
        this.adminUser = adminUser;
    }
}

DAO层

DiaryDAO.java

public interface DiaryDAO {
    //插入日记方法
    void addDiary(Diary diary);
    //查询日记列表
    List<Diary> getDiaryList(Diary diary);
    //根据id查询日记
    Diary getDiaryById(int id);
    //更新日记
    void updateDiary(Diary diary);
    //更新用户权限
    void updateDiaryStatus(Diary diary);
}

DiaryMapper.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">
<!--namespace:对应dao层的全路径-->
<mapper namespace="com.ssm.blog.dao.DiaryDAO">

    <!--id:dao层中添加日记方法,parameterType:mapper接口方法接受的参数类型-->
    <insert id="addDiary" parameterType="Diary">
        INSERT INTO diary(USER_ID,CREATED_DATE,CONTENT,TITLE,STATUS)
        VALUES (#{userId},now(),#{content},#{title},#{status})
    </insert>

    <!--id 下方resultMap,type 对应实体类名-->
    <resultMap id="diaryMap" type="Diary">
        <!--property对应实体类中属性名,column对应数据库中字段名-->
        <id property="id" column="ID"/>
        <result property="userId" column="USER_ID"/>
        <result property="createdDate" column="CREATED_DATE"/>
        <result property="content" column="CONTENT"/>
        <result property="title" column="TITLE"/>
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值