diff --git a/gen/pom.xml b/gen/pom.xml index 4997474e0e27e2111ebcbb93a1879735d1b03be3..51a2bb8519cd2de52bfdb46a22e1ff6b00cec6b4 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -51,7 +51,7 @@ org.xerial sqlite-jdbc - 3.21.0.1 + 3.34.0 mysql diff --git a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java index d43a9cc3d10da52790a75c3bccd827a22e4d164f..3092bac938f89df93163cb8ef567c438efa026ab 100644 --- a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java +++ b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java @@ -40,7 +40,7 @@ public class OracleColumnSelector extends ColumnSelector { private static final String COLUMN_SQL = " SELECT " + " atc.COLUMN_NAME FIELD, atc.DATA_TYPE TYPE, atc.DATA_SCALE SCALE, atc.DATA_LENGTH MAXLENGTH, " + - " CASE atc.NULLABLE NULLABLE , " + + " atc.NULLABLE NULLABLE , " + " atc.DATA_DEFAULT 默认值, acc.COMMENTS COMMENTS, atc.TABLE_NAME 表名, " + " CASE atc.COLUMN_NAME " + " WHEN " + @@ -48,7 +48,7 @@ public class OracleColumnSelector extends ColumnSelector { " LEFT JOIN all_cons_columns col ON con.table_name = col.table_name " + " AND con.OWNER = col.OWNER AND con.CONSTRAINT_NAME = col.CONSTRAINT_NAME " + " WHERE con.constraint_type = 'P' " + - " AND col.table_name = '%s' AND con.OWNER = '%s' ) " + + " AND col.table_name = '%s' AND con.OWNER = '%s' AND col.column_name = atc.COLUMN_NAME ) " + " THEN 'true' ELSE 'false' END AS KEY " + " FROM ALL_TAB_COLUMNS atc " + " LEFT JOIN ALL_COL_COMMENTS acc " + diff --git a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java index 0b4573c94fc060c9da96c3a789060b8ca39d915b..67a0be1d744fb4036ba3e5080daac4a06555966f 100644 --- a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java +++ b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java @@ -29,18 +29,18 @@ public class OracleTableSelector extends TableSelector { */ @Override protected String getShowTablesSQL(GeneratorConfig generatorConfig) { - String owner = generatorConfig.getSchemaName().toUpperCase(); StringBuilder sb = new StringBuilder(""); - sb.append(" SELECT TABLE_NAME AS NAME, COMMENTS FROM all_tab_comments "); - sb.append(" WHERE 1=1 "); + sb.append(" SELECT a.TABLE_NAME as NAME,b.COMMENTS" + + " FROM ALL_TABLES a,USER_TAB_COMMENTS b" + + " WHERE a.TABLE_NAME=b.TABLE_NAME"); + sb.append(" AND 1=1 "); if(this.getSchTableNames() != null && this.getSchTableNames().size() > 0) { StringBuilder tables = new StringBuilder(); for (String table : this.getSchTableNames()) { tables.append(",'").append(table).append("'"); } - sb.append(" AND TABLE_NAME IN (" + tables.substring(1) + ")"); + sb.append(" AND a.TABLE_NAME IN (" + tables.substring(1) + ")"); } - sb.append(" AND OWNER='"+owner+"'"); return sb.toString(); } diff --git a/gen/src/main/resources/gen.db b/gen/src/main/resources/gen.db index ca3318427aeb2d7088c6259a0fca21808d002214..27310455e2b2514b87372f360a74ad5aa1827f4c 100644 Binary files a/gen/src/main/resources/gen.db and b/gen/src/main/resources/gen.db differ diff --git a/script/startup.bat b/script/startup.bat new file mode 100644 index 0000000000000000000000000000000000000000..11a8499a90d70bb17950226610b0ec43cb7973c0 --- /dev/null +++ b/script/startup.bat @@ -0,0 +1,5 @@ +@echo off + +set app_name=gen + +java -Duser.timezone=Asia/Shanghai -jar -Xms128m -Xmx128m %app_name%.jar \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/columns.vm b/templates/fastmybatis-v2.0/columns.vm new file mode 100644 index 0000000000000000000000000000000000000000..fc8832da8c0d1a79c66167672f023141d3935ae8 --- /dev/null +++ b/templates/fastmybatis-v2.0/columns.vm @@ -0,0 +1,19 @@ +## filename=${context.javaBeanName}Columns, folder=columns +/** + * ${table.tableName}表字段映射关系
+ * 使用方式: + *
+ * {@literal
+ * Query query = new Query().eq(TUserColumns.id, 6);
+ * TUser tUser = mapper.getBySpecifiedColumns(Arrays.asList(TUserColumns.id, TUserColumns.username), query);
+ * }
+ * 
+ * @author xxx + */ +public interface ${context.javaBeanName}Columns { +#foreach($column in $columns) + /** ${column.comment} */ + String ${column.columnName} = "${column.columnName}"; + +#end +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/controller.vm b/templates/fastmybatis-v2.0/controller.vm new file mode 100644 index 0000000000000000000000000000000000000000..59dcd1ad5e17c86e9497de4d5e9711c844dc6bb7 --- /dev/null +++ b/templates/fastmybatis-v2.0/controller.vm @@ -0,0 +1,78 @@ +## filename=${context.javaBeanName}Controller.java, folder=controller +package ${context.packageName}.web.controller; + +import com.gitee.fastmybatis.core.PageInfo; +import com.gitee.fastmybatis.core.query.Query; +import com.gitee.fastmybatis.core.query.param.PageParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import ${context.packageName}.dao.entity.${context.javaBeanName}; +import ${context.packageName}.service.${context.javaBeanName}Service; + +/** + * @author xxx + */ +@RestController +@RequestMapping("${table.tableName}") +public class ${context.javaBeanName}Controller { + + @Autowired + private ${context.javaBeanName}Service ${context.javaBeanNameLF}Service; + + /** + * 分页查询 + * + * @param param + * @return + */ + @GetMapping("/page") + public Result> page(PageParam param) { + Query query = param.toQuery(); + PageInfo<${context.javaBeanName}> pageInfo = ${context.javaBeanNameLF}Service.page(query); + return Result.ok(pageInfo); + } + + /** + * 新增记录 + * + * @param user + * @return + */ + @PostMapping("/save") + public Result<${pk.javaTypeBox}> save(${context.javaBeanName} user) { + ${context.javaBeanNameLF}Service.saveIgnoreNull(user); + // 返回添加后的主键值 + return Result.ok(user.getId()); + } + + /** + * 修改记录 + * + * @param user 表单数据 + * @return + */ + @PutMapping("/update") + public Result update(${context.javaBeanName} user) { + ${context.javaBeanNameLF}Service.updateIgnoreNull(user); + return Result.ok(); + } + + /** + * 删除记录 + * + * @param id 主键id + * @return + */ + @DeleteMapping("/delete") + public Result delete(${pk.javaTypeBox} id) { + ${context.javaBeanNameLF}Service.deleteById(id); + return Result.ok(); + } + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/entity.vm b/templates/fastmybatis-v2.0/entity.vm new file mode 100644 index 0000000000000000000000000000000000000000..2be70a37b4d85091bf53816805261697a0a44a07 --- /dev/null +++ b/templates/fastmybatis-v2.0/entity.vm @@ -0,0 +1,45 @@ +## filename=${context.javaBeanName}.java, folder=entity +package ${context.packageName}.dao.entity; + +#if(${table.hasDateField}) +import java.util.Date; +#end +#if(${table.hasLocalDateField}) +import java.time.LocalDate; +#end +#if(${table.hasLocalDateTimeField}) +import java.time.LocalDateTime; +#end +#if(${table.hasBigDecimalField}) +import java.math.BigDecimal; +#end + +import com.gitee.fastmybatis.annotation.Pk; +import com.gitee.fastmybatis.annotation.PkStrategy; +import com.gitee.fastmybatis.annotation.Table; + +import lombok.Data; + + +/** + * 表名:${table.tableName} +#if("$!{table.comment}" != "") + * 备注:${table.comment} +#end + * + * @author xxx + */ +@Table(name = "${table.tableName}", pk = @Pk(name = "${pk.columnName}", strategy = PkStrategy.INCREMENT)) +@Data +public class ${context.javaBeanName} { + +#foreach($column in $columns) + /** #if("$!{column.comment}" != "")${column.comment},#end 数据库字段:${column.columnName} */ +#if(${column.columnName} == "is_deleted") + @com.gitee.fastmybatis.annotation.Column(logicDelete = true) +#end + private ${column.javaTypeBox} ${column.javaFieldName}; + +#end + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/mapper.vm b/templates/fastmybatis-v2.0/mapper.vm new file mode 100644 index 0000000000000000000000000000000000000000..b212933a44c5b3fcb5bcf17003ce1bf9b3d99cc6 --- /dev/null +++ b/templates/fastmybatis-v2.0/mapper.vm @@ -0,0 +1,12 @@ +## filename=${context.javaBeanName}Mapper.java, folder=mapper +package ${context.packageName}.dao.mapper; + +import com.gitee.fastmybatis.core.mapper.CrudMapper; +import ${context.packageName}.dao.entity.${context.javaBeanName}; + +/** + * @author xxx + */ +public interface ${context.javaBeanName}Mapper extends CrudMapper<${context.javaBeanName}, ${pk.javaTypeBox}> { + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/service.vm b/templates/fastmybatis-v2.0/service.vm new file mode 100644 index 0000000000000000000000000000000000000000..bbbc8c9f84f98a56bc98722162840ce8f447fd46 --- /dev/null +++ b/templates/fastmybatis-v2.0/service.vm @@ -0,0 +1,16 @@ +## filename=${context.javaBeanName}Service.java, folder=service +package ${context.packageName}.mapper; + +import com.gitee.fastmybatis.core.support.IService; +import ${context.packageName}.dao.entity.${context.javaBeanName}; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author xxx + */ +@Service +public class ${context.javaBeanName}Service implements IService<${context.javaBeanName}, ${pk.javaTypeBox}> { + +} \ No newline at end of file