-
每个Mapper接口对应一个mapper.xml文件,每个Mapper接口的方法,对一个mapper.xml文件的sql。
mapper.xmlsrc/main/resource/com/ujcms/cms/ext/mapper/ExampleMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN&quo...
-
SpringDoc(swagger)在线文档通常用于开发阶段使用,默认情况下SpringDoc(swagger)在线文档处于关闭状态。
开启方法修改配置文件:src/main/resources/application.yaml(开发环境)或WEB-INF/classes/application.yaml(部署环境)
将springdoc.api-docs.enabled和springdoc.swagger-ui.enabled设置为true。注意必...
-
MyBatis使用Mapper接口操作数据库。
Mapper接口com.ujcms.cms.ext.mapper.ExampleMapper
@Mapper
@Repository
public interface ExampleMapper {
/**
* 插入数据
*
* @param bean 实体对象
* @return 插入条数
*/
int insert(Example bean);
/**
* 更新数据
...
-
实体类的主要作用是与数据库的表、字段相对应。一般来说,一个表对应一个实体类(Domain),一个字段对应一个属性。
数据库表结构改变,实体类就要做相应的改变。这部分工作是重复性的,一般由代码生成器代劳。修改表结构后,只要再次执行代码生成器,即可完成实体类(Domain)的改动。
实际开发中经常需要修改实体类,...
-
代码生成器可以很大程度提高开发效率。特别是实体类(Domain)与Mapper.xml中实体类属性与数据库字段的对应关系,以及常用的insert、update语句,这些都是重复性工作,手动编写非常枯燥且容易出错。
MyBatisPlus的一个重要作用就是不用编写Mapper.xml。但如果这些代码都可以自动生成,而且修改表结构后,重新生成会自动...
-
UJCMS使用Liquibase作为数据库表结构版本管理工具。
Liquibase文件目录:src/main/resources/db/changelog。
优缺点通过Liquibase中立的描述语言,可以跨数据库平台创建表结构;并通过版本管理的方式,自动判断当前数据库表结构版本,自动更新表结构。免去了手动执行sql的麻烦。
不过使用Liquibase相对比较复杂和麻烦...
-
后台使用前后端分离的方式开发,后台前端工程为ujcms-cp。
如项目不需要国际化功能,除日志模块外,其它国际化代码可以直接用中文代替。
路由src/router/index.ts
{
path: 'example',
name: 'ExampleList',
component: () => import('@/views/interaction/ExampleList.vue'...
-
为了让用户更容易掌握二次开发方法,系统中专门提供了二次开发的示例代码。示例代码完整的演示了二次开发中的各个步骤,非常符合实际的开发工作。
建表语句src/main/resources/db/changelog/db.changelog-8.0.yaml
其中示例表的建表内容如下:
- changeSet:
id: 1691729970999-1
author: PONY (genera...
-
访问量指的是每篇文章、每个栏目甚至每个站点的访问量。访问量与数据库中某一数据相对应,比如文章访问量和文章数据对应,栏目访问量和栏目数据对应,站点访问量和站点数据对应。
由于系统同时支持动态页访问和生成静态页访问,所以在页面中必须要加相应的代码,系统才能记录相关的访问量。如发现访问了文章、栏目、站点...
-
UJCMS前台的搜索使用的是Lucene全文检索,全文检索和数据库检索是两套不同的体系。
全文检索需要另外生成索引文件。全文索引文件保存在WEB-INF/lucene目录下。
正常情况下,录入、修改或删除文章时,除了会操作数据库,同时也会更新lucene的全文索引。因此,全文索引的内容会和后台内容(数据库内容)保持一致。
但如...