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