From dc653a9760a1095ea584aa649cb872ff95de9f5a Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Thu, 21 May 2020 17:26:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A7=BB=E9=99=A4jpa?= =?UTF-8?q?=E5=BC=95=E8=B5=B7=E7=9A=84=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=99=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GeneratorServiceImpl.java | 54 ++++--------------- .../gen/service/mapper/ColumnInfoMapper.java | 17 +++--- 2 files changed, 19 insertions(+), 52 deletions(-) diff --git a/yshop-generator/src/main/java/co/yixiang/gen/service/impl/GeneratorServiceImpl.java b/yshop-generator/src/main/java/co/yixiang/gen/service/impl/GeneratorServiceImpl.java index b9da382c..08b17f64 100644 --- a/yshop-generator/src/main/java/co/yixiang/gen/service/impl/GeneratorServiceImpl.java +++ b/yshop-generator/src/main/java/co/yixiang/gen/service/impl/GeneratorServiceImpl.java @@ -25,14 +25,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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.HttpServletResponse; import java.io.File; import java.io.IOException; -import java.sql.Connection; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -46,25 +42,17 @@ import java.util.stream.Collectors; @SuppressWarnings({"unchecked","all"}) public class GeneratorServiceImpl extends BaseServiceImpl implements GeneratorService { - @PersistenceContext - private EntityManager em; - @Override public Object getTables() { - // 使用预编译防止sql注入 - 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(); + return baseMapper.selectTables(); } @Override public Object getTables(String name, Integer page, Integer size) { IPage pages = null; Page pageModel = new Page<>(page, size); - pages = baseMapper.selectTables(pageModel,name); + pages = baseMapper.selectTablePage(pageModel,name); Integer totalElements = 0; return PageUtil.toPage(pages.getRecords(),pages.getTotal()); } @@ -84,39 +72,19 @@ public class GeneratorServiceImpl extends BaseServiceImpl 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 columnInfos = new ArrayList<>(); - for (Object obj : result) { - Object[] arr = (Object[]) obj; + List> result = baseMapper.queryByTableName(tableName); + for (Map map : result) { + 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) - ); - }*/ - List 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) + map.get("column_name").toString(), + "NO".equals(map.get("is_nullable").toString()), + map.get("data_type").toString(), + ObjectUtil.isNotNull( map.get("column_comment")) ? map.get("column_comment").toString() : null, + ObjectUtil.isNotNull(map.get("column_key")) ? map.get("column_key").toString() : null, + ObjectUtil.isNotNull(map.get("extra")) ? map.get("extra").toString() : null) ); } return columnInfos; diff --git a/yshop-generator/src/main/java/co/yixiang/gen/service/mapper/ColumnInfoMapper.java b/yshop-generator/src/main/java/co/yixiang/gen/service/mapper/ColumnInfoMapper.java index 170bbe80..64943d77 100644 --- a/yshop-generator/src/main/java/co/yixiang/gen/service/mapper/ColumnInfoMapper.java +++ b/yshop-generator/src/main/java/co/yixiang/gen/service/mapper/ColumnInfoMapper.java @@ -17,21 +17,20 @@ import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; @Repository @Mapper public interface ColumnInfoMapper extends CoreMapper { - @Select("select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " + - "where table_schema = (select database()) and table_name like CONCAT('%',#{name},'%') order by create_time desc") - IPage selectTables(@Param("page") Page page, @Param("name") String name); - - @Select("SELECT COUNT(*) from information_schema.tables where table_schema = (select database()) and table_name like CONCAT('%',#{name},'%') order by create_time desc") - Integer selectTablesCount(@Param("name") String name); - - + @Select("") + IPage selectTablePage(@Param("page") Page page, @Param("name") String name); + @Select("") + List selectTables(); @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") - List queryByTableName(@Param("name") String name); + List> queryByTableName(@Param("name") String name); }