-
常用策略自增主键依赖数据库的功能,mysql、sqlserver有主键自增功能,oracle、db2则没有;postgresql可以将序列值设置成默认值,实现主键自增功能。
没有跨平台需求时,可以考虑使用。分库、分表时,不能使用。
数据库序列依赖数据库的功能,mysql没有序列。
没有跨平台需求时,可以考虑使用。分表可以使用,分库不能...
-
每个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...
-
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设计了查询解析器。要使用这个查询解析器,数据库表名、字段名必须符合一定的命名规范。同时代码生成器对数据库字段类型也有一定的要求。
以下规范皆为强制性要求,如有不符的地方,可能导致系统运行异常。
表名一律使用小写字母在Windows下默认安装MySQL,会忽略大小写,把所有大写表名自...
-
UJCMS采用前后端分离的开发模式,即后端提供API接口,前端(Vue)调用API接口。
前台网站除了以API提供接口外,还提供了传统的Freemarkder模板引擎生成页面的方式,有利于搜索引擎优化(SEO)。
后端主要技术栈:
Spring Boot:提供开箱即用的Spring功能Spring MVC:MVC框架Spring Security:安全组件MyBatis:持久化框...