springboot-cms(2):创建实体类

  • ArticleCate:文章分类表
package com.springboot.cms.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * 文章分类 这里就使用一级分类
 */
@Entity
@Table(name = "tb_article_cate")
public class ArticleCate implements Serializable{

	@Id
	@Column
	private String id;//文章id


	@Column(nullable = false, unique = true)
	private String name;//分类名称 非空唯一不重复

	private Boolean status = true;//状态 true 可用 false 不可用

	@Column(length = 3)
	private Integer sort = 0;//排序

   //getter setter

}
  • ArticleColumn:文章专栏表 
package com.springboot.cms.entity;


import javax.persistence.*;
import java.io.Serializable;

/**
 * 文章专栏 文章专题
 */
@Entity
@Table(name = "tb_article_column")
public class ArticleColumn implements Serializable {

	@Id
	@Column
	private String id;//文章id


	@Column(nullable = false, unique = true)
	private String name;//专栏名称 非空唯一不重复

	private Boolean status = true;//状态 true 可用 false 不可用

	@Column(length = 3)
	private Integer sort = 0;//排序


	
}
  • Article:文章表,主要存放的是图文类型的文章
package com.springboot.cms.entity;

import javax.persistence.*;
import java.io.Serializable;

/**
 * Created by wangxianhong on 2017/6/30.
 * 文章表
 */
@Entity
@Table(name = "tb_article")
public class Article implements Serializable{

    @Id
    private String id;//文章id
    @Column
    private String columnId;//专栏id
    @Column
    private String cateId;//分类id

    @Column
    private String title;//文章标题
    @Column
    private String summary;//文章简介
    @Column
    private  Boolean status;//文章状态 true 可用 false 不可用
    @Column
    private String thumbnail;//文章缩略图  格式JsonArray  ['a.jpg','b.jpg','c,jpg']
    @Column
    private Long createTime;//创建时间
    @Lob
    private String content;//文章正文


}
  • Video:视频文章
package com.springboot.cms.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * Created by wangxianhong on 2017/7/2.
 * 视频类型的文章
 */
@Entity
@Table(name = "tb_video")
public class Video implements Serializable{

	@Id
	private String id;//文章id

	@Column
	private String columnId;//专栏id

	@Column
	private String cateId;//分类id

	@Column
	private String title;//文章标题

	@Column
	private String summary;//文章简介

	@Column
	private Long createTime;//创建时间

	@Column
	private String videoUrl;//视频链接


}
  • ArticleRole:文章规则表,这个表主要是根据文章id去查询具体的表 类似索引的作用
package com.springboot.cms.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * 文章标记路由表 主要记录文章id 所属的具体表
 */
@Entity
@Table(name = "tb_article_role")
public class ArticleRole implements Serializable{
    @Id
    @Column
    private String id;//文章id
    @Column(length = 2)
    private Integer flag;//表标记

}

在实体类属性和表字段名称约定保持一致,采用驼峰命名法,此时需要在配置文件application.properties文件中配置命名策略:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

再运行SpringBootCmsApplication ,实体类对应的表都会自动生成。

 

 

转载于:https://my.oschina.net/u/1993676/blog/1114027

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它提供了一种简化的方式来配置和启动Spring应用程序,同时也提供了许多开箱即用的功能和插件,使开发人员能够更加专注于业务逻辑的实现。 要实现CMS(内容管理系统)功能,可以使用Spring Boot结合其他相关技术来构建。以下是一个基本的示例: 1. 配置pom.xml文件,添加所需的依赖项: ```xml <dependencies> <!-- Spring Boot核心依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 数据库相关依赖,如MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 其他依赖,如Thymeleaf模板引擎、Spring Security等 --> <!-- 可根据具体需求添加 --> </dependencies> ``` 2. 创建一个Spring Boot应用程序的主类,使用`@SpringBootApplication`注解标记: ```java @SpringBootApplication public class CmsApplication { public static void main(String[] args) { SpringApplication.run(CmsApplication.class, args); } } ``` 3. 创建数据库表和实体类,可以使用JPA或MyBatis等持久化框架进行数据操作。 4. 创建控制器类,处理HTTP请求和响应,例如: ```java @RestController @RequestMapping("/articles") public class ArticleController { @Autowired private ArticleService articleService; @GetMapping("/{id}") public Article getArticleById(@PathVariable Long id) { return articleService.getArticleById(id); } @PostMapping("/") public Article createArticle(@RequestBody Article article) { return articleService.createArticle(article); } // 其他CRUD操作方法... } ``` 5. 创建服务类,实现业务逻辑,例如: ```java @Service public class ArticleService { @Autowired private ArticleRepository articleRepository; public Article getArticleById(Long id) { return articleRepository.findById(id).orElse(null); } public Article createArticle(Article article) { return articleRepository.save(article); } // 其他业务逻辑方法... } ``` 6. 配置数据库连接和其他相关配置,可以使用`application.properties`或`application.yml`文件进行配置。 以上是一个简单的示例,实际的CMS系统可能涉及更多的功能和模块,如用户管理、权限控制、内容发布等。可以根据具体需求选择合适的技术和框架来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值