feat: 后台网站信息管理

This commit is contained in:
xiongxiaoyang
2023-04-14 14:56:11 +08:00
parent b45b83fdb0
commit 2c3b735d49
37 changed files with 1821 additions and 543 deletions

View File

@ -0,0 +1,162 @@
package com.java2nb.novel.entity;
import java.util.Date;
import javax.annotation.Generated;
public class WebsiteInfo {
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long id;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String name;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String domain;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String keyword;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String description;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String qq;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String logo;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String logoDark;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Date createTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long createUserId;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Date updateTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long updateUserId;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getId() {
return id;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setId(Long id) {
this.id = id;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getName() {
return name;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getDomain() {
return domain;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setDomain(String domain) {
this.domain = domain == null ? null : domain.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getKeyword() {
return keyword;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setKeyword(String keyword) {
this.keyword = keyword == null ? null : keyword.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getDescription() {
return description;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getQq() {
return qq;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setQq(String qq) {
this.qq = qq == null ? null : qq.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getLogo() {
return logo;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setLogo(String logo) {
this.logo = logo == null ? null : logo.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getLogoDark() {
return logoDark;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setLogoDark(String logoDark) {
this.logoDark = logoDark == null ? null : logoDark.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Date getCreateTime() {
return createTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getCreateUserId() {
return createUserId;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Date getUpdateTime() {
return updateTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getUpdateUserId() {
return updateUserId;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setUpdateUserId(Long updateUserId) {
this.updateUserId = updateUserId;
}
}

View File

@ -0,0 +1,79 @@
package com.java2nb.novel.mapper;
import java.sql.JDBCType;
import java.util.Date;
import javax.annotation.Generated;
import org.mybatis.dynamic.sql.SqlColumn;
import org.mybatis.dynamic.sql.SqlTable;
public final class WebsiteInfoDynamicSqlSupport {
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final WebsiteInfo websiteInfo = new WebsiteInfo();
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> id = websiteInfo.id;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> name = websiteInfo.name;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> domain = websiteInfo.domain;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> keyword = websiteInfo.keyword;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> description = websiteInfo.description;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> qq = websiteInfo.qq;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> logo = websiteInfo.logo;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> logoDark = websiteInfo.logoDark;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Date> createTime = websiteInfo.createTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> createUserId = websiteInfo.createUserId;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Date> updateTime = websiteInfo.updateTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> updateUserId = websiteInfo.updateUserId;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final class WebsiteInfo extends SqlTable {
public final SqlColumn<Long> id = column("id", JDBCType.BIGINT);
public final SqlColumn<String> name = column("name", JDBCType.VARCHAR);
public final SqlColumn<String> domain = column("domain", JDBCType.VARCHAR);
public final SqlColumn<String> keyword = column("keyword", JDBCType.VARCHAR);
public final SqlColumn<String> description = column("description", JDBCType.VARCHAR);
public final SqlColumn<String> qq = column("qq", JDBCType.VARCHAR);
public final SqlColumn<String> logo = column("logo", JDBCType.VARCHAR);
public final SqlColumn<String> logoDark = column("logo_dark", JDBCType.VARCHAR);
public final SqlColumn<Date> createTime = column("create_time", JDBCType.TIMESTAMP);
public final SqlColumn<Long> createUserId = column("create_user_id", JDBCType.BIGINT);
public final SqlColumn<Date> updateTime = column("update_time", JDBCType.TIMESTAMP);
public final SqlColumn<Long> updateUserId = column("update_user_id", JDBCType.BIGINT);
public WebsiteInfo() {
super("website_info");
}
}
}

View File

@ -0,0 +1,248 @@
package com.java2nb.novel.mapper;
import static com.java2nb.novel.mapper.WebsiteInfoDynamicSqlSupport.*;
import static org.mybatis.dynamic.sql.SqlBuilder.*;
import com.java2nb.novel.entity.WebsiteInfo;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import javax.annotation.Generated;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.BasicColumn;
import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
import org.mybatis.dynamic.sql.select.CountDSLCompleter;
import org.mybatis.dynamic.sql.select.SelectDSLCompleter;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.UpdateDSLCompleter;
import org.mybatis.dynamic.sql.update.UpdateModel;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
@Mapper
public interface WebsiteInfoMapper {
@Generated("org.mybatis.generator.api.MyBatisGenerator")
BasicColumn[] selectList = BasicColumn.columnList(id, name, domain, keyword, description, qq, logo, logoDark, createTime, createUserId, updateTime, updateUserId);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
long count(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@DeleteProvider(type=SqlProviderAdapter.class, method="delete")
int delete(DeleteStatementProvider deleteStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@InsertProvider(type=SqlProviderAdapter.class, method="insert")
int insert(InsertStatementProvider<WebsiteInfo> insertStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
int insertMultiple(MultiRowInsertStatementProvider<WebsiteInfo> multipleInsertStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@ResultMap("WebsiteInfoResult")
Optional<WebsiteInfo> selectOne(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@Results(id="WebsiteInfoResult", value = {
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="domain", property="domain", jdbcType=JdbcType.VARCHAR),
@Result(column="keyword", property="keyword", jdbcType=JdbcType.VARCHAR),
@Result(column="description", property="description", jdbcType=JdbcType.VARCHAR),
@Result(column="qq", property="qq", jdbcType=JdbcType.VARCHAR),
@Result(column="logo", property="logo", jdbcType=JdbcType.VARCHAR),
@Result(column="logo_dark", property="logoDark", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_user_id", property="updateUserId", jdbcType=JdbcType.BIGINT)
})
List<WebsiteInfo> selectMany(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@UpdateProvider(type=SqlProviderAdapter.class, method="update")
int update(UpdateStatementProvider updateStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default long count(CountDSLCompleter completer) {
return MyBatis3Utils.countFrom(this::count, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int delete(DeleteDSLCompleter completer) {
return MyBatis3Utils.deleteFrom(this::delete, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int deleteByPrimaryKey(Long id_) {
return delete(c ->
c.where(id, isEqualTo(id_))
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int insert(WebsiteInfo record) {
return MyBatis3Utils.insert(this::insert, record, websiteInfo, c ->
c.map(id).toProperty("id")
.map(name).toProperty("name")
.map(domain).toProperty("domain")
.map(keyword).toProperty("keyword")
.map(description).toProperty("description")
.map(qq).toProperty("qq")
.map(logo).toProperty("logo")
.map(logoDark).toProperty("logoDark")
.map(createTime).toProperty("createTime")
.map(createUserId).toProperty("createUserId")
.map(updateTime).toProperty("updateTime")
.map(updateUserId).toProperty("updateUserId")
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int insertMultiple(Collection<WebsiteInfo> records) {
return MyBatis3Utils.insertMultiple(this::insertMultiple, records, websiteInfo, c ->
c.map(id).toProperty("id")
.map(name).toProperty("name")
.map(domain).toProperty("domain")
.map(keyword).toProperty("keyword")
.map(description).toProperty("description")
.map(qq).toProperty("qq")
.map(logo).toProperty("logo")
.map(logoDark).toProperty("logoDark")
.map(createTime).toProperty("createTime")
.map(createUserId).toProperty("createUserId")
.map(updateTime).toProperty("updateTime")
.map(updateUserId).toProperty("updateUserId")
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int insertSelective(WebsiteInfo record) {
return MyBatis3Utils.insert(this::insert, record, websiteInfo, c ->
c.map(id).toPropertyWhenPresent("id", record::getId)
.map(name).toPropertyWhenPresent("name", record::getName)
.map(domain).toPropertyWhenPresent("domain", record::getDomain)
.map(keyword).toPropertyWhenPresent("keyword", record::getKeyword)
.map(description).toPropertyWhenPresent("description", record::getDescription)
.map(qq).toPropertyWhenPresent("qq", record::getQq)
.map(logo).toPropertyWhenPresent("logo", record::getLogo)
.map(logoDark).toPropertyWhenPresent("logoDark", record::getLogoDark)
.map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
.map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId)
.map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
.map(updateUserId).toPropertyWhenPresent("updateUserId", record::getUpdateUserId)
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default Optional<WebsiteInfo> selectOne(SelectDSLCompleter completer) {
return MyBatis3Utils.selectOne(this::selectOne, selectList, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default List<WebsiteInfo> select(SelectDSLCompleter completer) {
return MyBatis3Utils.selectList(this::selectMany, selectList, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default List<WebsiteInfo> selectDistinct(SelectDSLCompleter completer) {
return MyBatis3Utils.selectDistinct(this::selectMany, selectList, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default Optional<WebsiteInfo> selectByPrimaryKey(Long id_) {
return selectOne(c ->
c.where(id, isEqualTo(id_))
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int update(UpdateDSLCompleter completer) {
return MyBatis3Utils.update(this::update, websiteInfo, completer);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
static UpdateDSL<UpdateModel> updateAllColumns(WebsiteInfo record, UpdateDSL<UpdateModel> dsl) {
return dsl.set(id).equalTo(record::getId)
.set(name).equalTo(record::getName)
.set(domain).equalTo(record::getDomain)
.set(keyword).equalTo(record::getKeyword)
.set(description).equalTo(record::getDescription)
.set(qq).equalTo(record::getQq)
.set(logo).equalTo(record::getLogo)
.set(logoDark).equalTo(record::getLogoDark)
.set(createTime).equalTo(record::getCreateTime)
.set(createUserId).equalTo(record::getCreateUserId)
.set(updateTime).equalTo(record::getUpdateTime)
.set(updateUserId).equalTo(record::getUpdateUserId);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
static UpdateDSL<UpdateModel> updateSelectiveColumns(WebsiteInfo record, UpdateDSL<UpdateModel> dsl) {
return dsl.set(id).equalToWhenPresent(record::getId)
.set(name).equalToWhenPresent(record::getName)
.set(domain).equalToWhenPresent(record::getDomain)
.set(keyword).equalToWhenPresent(record::getKeyword)
.set(description).equalToWhenPresent(record::getDescription)
.set(qq).equalToWhenPresent(record::getQq)
.set(logo).equalToWhenPresent(record::getLogo)
.set(logoDark).equalToWhenPresent(record::getLogoDark)
.set(createTime).equalToWhenPresent(record::getCreateTime)
.set(createUserId).equalToWhenPresent(record::getCreateUserId)
.set(updateTime).equalToWhenPresent(record::getUpdateTime)
.set(updateUserId).equalToWhenPresent(record::getUpdateUserId);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int updateByPrimaryKey(WebsiteInfo record) {
return update(c ->
c.set(name).equalTo(record::getName)
.set(domain).equalTo(record::getDomain)
.set(keyword).equalTo(record::getKeyword)
.set(description).equalTo(record::getDescription)
.set(qq).equalTo(record::getQq)
.set(logo).equalTo(record::getLogo)
.set(logoDark).equalTo(record::getLogoDark)
.set(createTime).equalTo(record::getCreateTime)
.set(createUserId).equalTo(record::getCreateUserId)
.set(updateTime).equalTo(record::getUpdateTime)
.set(updateUserId).equalTo(record::getUpdateUserId)
.where(id, isEqualTo(record::getId))
);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int updateByPrimaryKeySelective(WebsiteInfo record) {
return update(c ->
c.set(name).equalToWhenPresent(record::getName)
.set(domain).equalToWhenPresent(record::getDomain)
.set(keyword).equalToWhenPresent(record::getKeyword)
.set(description).equalToWhenPresent(record::getDescription)
.set(qq).equalToWhenPresent(record::getQq)
.set(logo).equalToWhenPresent(record::getLogo)
.set(logoDark).equalToWhenPresent(record::getLogoDark)
.set(createTime).equalToWhenPresent(record::getCreateTime)
.set(createUserId).equalToWhenPresent(record::getCreateUserId)
.set(updateTime).equalToWhenPresent(record::getUpdateTime)
.set(updateUserId).equalToWhenPresent(record::getUpdateUserId)
.where(id, isEqualTo(record::getId))
);
}
}

View File

@ -23,7 +23,7 @@ spring:
#连接超时时间毫秒
timeout: 30000
datasource:
url: jdbc:mysql://127.0.0.1:3306/novel_biz?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
url: jdbc:mysql://127.0.0.1:3306/novel_plus?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: test123456
driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -1,21 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--Mybatis Generator目前有5种运行模式分别为MyBatis3DynamicSqlMyBatis3KotlinMyBatis3MyBatis3SimpleMyBatis3DynamicSqlV1-->
<context id="springboot-base" targetRuntime="MyBatis3DynamicSql">
<commentGenerator>
<!-- 是否去除自动生成的注释 true false: -->
<property name="suppressAllComments" value="true" />
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection
connectionURL="jdbc:mysql://127.0.0.1:3306/novel_plus?tinyInt1isBit=false&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai&amp;nullCatalogMeansCurrent=true"
driverClass="com.mysql.jdbc.Driver" password="test123456"
userId="root" />
userId="root"/>
<!-- 默认false把JDBC DECIMAL NUMERIC 类型解析为 Integer true时把JDBC DECIMAL
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
@ -23,16 +24,16 @@
targetPackage="com.java2nb.novel.entity"
targetProject="novel-common/src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<property name="enableSubPackages" value="false"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mybatis.mapping"
targetProject="novel-common/src/main/resources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- targetPackagemapper接口生成的位置 -->
@ -40,11 +41,11 @@
targetPackage="com.java2nb.novel.mapper"
targetProject="novel-common/src/main/java" type="XMLMAPPER">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--生成全部表tableName设为%-->
<table tableName="book_index"/>
<table tableName="website_info"/>
<!-- 指定数据库表 -->
<!--<table schema="jly" tableName="job_position" domainObjectName="JobPositionTest"/>-->