修复移除jpa引起的代码生成器bug
This commit is contained in:
@ -25,14 +25,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.persistence.EntityManager;
|
|
||||||
import javax.persistence.PersistenceContext;
|
|
||||||
import javax.persistence.Query;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.sql.Connection;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -46,25 +42,17 @@ import java.util.stream.Collectors;
|
|||||||
@SuppressWarnings({"unchecked","all"})
|
@SuppressWarnings({"unchecked","all"})
|
||||||
public class GeneratorServiceImpl extends BaseServiceImpl<ColumnInfoMapper, ColumnConfig> implements GeneratorService {
|
public class GeneratorServiceImpl extends BaseServiceImpl<ColumnInfoMapper, ColumnConfig> implements GeneratorService {
|
||||||
|
|
||||||
@PersistenceContext
|
|
||||||
private EntityManager em;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getTables() {
|
public Object getTables() {
|
||||||
// 使用预编译防止sql注入
|
return baseMapper.selectTables();
|
||||||
String sql = "select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " +
|
|
||||||
"where table_schema = (select database()) " +
|
|
||||||
"order by create_time desc";
|
|
||||||
Query query = em.createNativeQuery(sql);
|
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getTables(String name, Integer page, Integer size) {
|
public Object getTables(String name, Integer page, Integer size) {
|
||||||
IPage<TableInfo> pages = null;
|
IPage<TableInfo> pages = null;
|
||||||
Page<TableInfo> pageModel = new Page<>(page, size);
|
Page<TableInfo> pageModel = new Page<>(page, size);
|
||||||
pages = baseMapper.selectTables(pageModel,name);
|
pages = baseMapper.selectTablePage(pageModel,name);
|
||||||
Integer totalElements = 0;
|
Integer totalElements = 0;
|
||||||
return PageUtil.toPage(pages.getRecords(),pages.getTotal());
|
return PageUtil.toPage(pages.getRecords(),pages.getTotal());
|
||||||
}
|
}
|
||||||
@ -84,39 +72,19 @@ public class GeneratorServiceImpl extends BaseServiceImpl<ColumnInfoMapper, Colu
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ColumnConfig> query(String tableName){
|
public List<ColumnConfig> query(String tableName){
|
||||||
// 使用预编译防止sql注入
|
|
||||||
/* String sql = "select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns " +
|
|
||||||
"where table_name = ? and table_schema = (select database()) order by ordinal_position";
|
|
||||||
Query query = em.createNativeQuery(sql);
|
|
||||||
query.setParameter(1,tableName);
|
|
||||||
List result = query.getResultList();
|
|
||||||
List<ColumnConfig> columnInfos = new ArrayList<>();
|
List<ColumnConfig> columnInfos = new ArrayList<>();
|
||||||
for (Object obj : result) {
|
List<Map<String,Object>> result = baseMapper.queryByTableName(tableName);
|
||||||
Object[] arr = (Object[]) obj;
|
for (Map<String,Object> map : result) {
|
||||||
|
|
||||||
columnInfos.add(
|
columnInfos.add(
|
||||||
new ColumnConfig(
|
new ColumnConfig(
|
||||||
tableName,
|
tableName,
|
||||||
arr[0].toString(),
|
map.get("column_name").toString(),
|
||||||
"NO".equals(arr[1]),
|
"NO".equals(map.get("is_nullable").toString()),
|
||||||
arr[2].toString(),
|
map.get("data_type").toString(),
|
||||||
ObjectUtil.isNotNull(arr[3]) ? arr[3].toString() : null,
|
ObjectUtil.isNotNull( map.get("column_comment")) ? map.get("column_comment").toString() : null,
|
||||||
ObjectUtil.isNotNull(arr[4]) ? arr[4].toString() : null,
|
ObjectUtil.isNotNull(map.get("column_key")) ? map.get("column_key").toString() : null,
|
||||||
ObjectUtil.isNotNull(arr[5]) ? arr[5].toString() : null)
|
ObjectUtil.isNotNull(map.get("extra")) ? map.get("extra").toString() : null)
|
||||||
);
|
|
||||||
}*/
|
|
||||||
List<ColumnConfig> columnInfos = new ArrayList<>();
|
|
||||||
List result = baseMapper.queryByTableName(tableName);
|
|
||||||
for (Object obj : result) {
|
|
||||||
Object[] arr = (Object[]) obj;
|
|
||||||
columnInfos.add(
|
|
||||||
new ColumnConfig(
|
|
||||||
tableName,
|
|
||||||
arr[0].toString(),
|
|
||||||
"NO".equals(arr[1]),
|
|
||||||
arr[2].toString(),
|
|
||||||
ObjectUtil.isNotNull(arr[3]) ? arr[3].toString() : null,
|
|
||||||
ObjectUtil.isNotNull(arr[4]) ? arr[4].toString() : null,
|
|
||||||
ObjectUtil.isNotNull(arr[5]) ? arr[5].toString() : null)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return columnInfos;
|
return columnInfos;
|
||||||
|
@ -17,21 +17,20 @@ import org.apache.ibatis.annotations.Select;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ColumnInfoMapper extends CoreMapper<ColumnConfig> {
|
public interface ColumnInfoMapper extends CoreMapper<ColumnConfig> {
|
||||||
|
|
||||||
@Select("select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " +
|
@Select("<script>select table_name ,create_time , engine, table_collation as coding, table_comment as remark from information_schema.tables " +
|
||||||
"where table_schema = (select database()) and table_name like CONCAT('%',#{name},'%') order by create_time desc")
|
"where table_schema = (select database()) <if test=\"name!=null\"> and table_name like CONCAT('%',#{name},'%') </if> order by create_time desc</script>")
|
||||||
IPage<TableInfo> selectTables(@Param("page") Page page, @Param("name") String name);
|
IPage<TableInfo> selectTablePage(@Param("page") Page page, @Param("name") String name);
|
||||||
|
@Select("<script>select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " +
|
||||||
@Select("SELECT COUNT(*) from information_schema.tables where table_schema = (select database()) and table_name like CONCAT('%',#{name},'%') order by create_time desc")
|
"where table_schema = (select database()) order by create_time desc</script>")
|
||||||
Integer selectTablesCount(@Param("name") String name);
|
List<TableInfo> selectTables();
|
||||||
|
|
||||||
|
|
||||||
@Select("select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns " +
|
@Select("select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns " +
|
||||||
"where table_name = #{name} and table_schema = (select database()) order by ordinal_position")
|
"where table_name = #{name} and table_schema = (select database()) order by ordinal_position")
|
||||||
List queryByTableName(@Param("name") String name);
|
List<Map<String,Object>> queryByTableName(@Param("name") String name);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user