浏览代码

orcale接口

xuezizhuo 2 年之前
父节点
当前提交
00787aea59

+ 13 - 0
src/main/java/com/customer/mapper/TableInfoMapper.java

@@ -84,6 +84,16 @@ public interface TableInfoMapper {
 
     //---------------------------------oracle------------------------------------------
 
+    /**
+     * 创建新用户
+     */
+    void createOracleUser(@Param("username") String username,@Param("password") String password);
+
+    /**
+     * 授予全部权限
+     */
+    void assignAuthority(String username);
+
     /**
      * 判断当前用户下表是否存在
      */
@@ -94,6 +104,9 @@ public interface TableInfoMapper {
      */
     void createOracleTable(@Param("tableName") String tableName,@Param("filedList") List<String> filedList);
 
+//    void createOracleTable(@Param("username") String username,@Param("tableName") String tableName,@Param("filedList") List<String> filedList);
+
+
     /**
      * 添加注释
      */

+ 4 - 0
src/main/java/com/customer/service/impl/TableInfoServiceImpl.java

@@ -165,6 +165,8 @@ public class TableInfoServiceImpl implements ITableInfoService {
     @Override
     public void createOracleTable(Map<String, Object> map) {
         String tableName = (String) map.get("tableName");
+        String username = (String) map.get("username");
+        String password = (String) map.get("password");
         List<TableInfo> filedList = JSON.parseArray(JSON.toJSONString(map.get("field")), TableInfo.class);
         List<String> descriptionList = new ArrayList<>();
         List<String> list= filedList.stream().map(filed->{
@@ -188,6 +190,8 @@ public class TableInfoServiceImpl implements ITableInfoService {
             }
             return stringBuilder.toString();
         }).collect(Collectors.toList());
+//        tableInfoMapper.createOracleUser(username,password);
+//        tableInfoMapper.assignAuthority(username);
         tableInfoMapper.createOracleTable(tableName,list);
         descriptionList.stream().forEach(f ->tableInfoMapper.addOracleTableDescription(f));
     }

+ 7 - 0
src/main/resources/mapper/TableInfoMapper.xml

@@ -86,6 +86,13 @@
            ${description}
     </update>
 
+    <update id="createOracleUser">
+        CREATE USER ${username} IDENTIFIED BY ${password} DEFAULT TABLESPACE users QUOTA unlimited ON users
+    </update>
+
+    <update id="assignAuthority">
+        GRANT ALL PRIVILEGES TO ${username}
+    </update>
 
     <select id="oracleTableExist" resultType="int">
         select count(1) from user_tables where table_name=upper(#{tableName})