You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by ca...@apache.org on 2022/10/18 01:57:46 UTC

[incubator-linkis] branch dev-1.3.1 updated: [BmlProjectDao]The sql annotation form is optimized to XML (#3649)

This is an automated email from the ASF dual-hosted git repository.

casion pushed a commit to branch dev-1.3.1
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.1 by this push:
     new 0824cab65 [BmlProjectDao]The sql annotation form is optimized to XML (#3649)
0824cab65 is described below

commit 0824cab6582a480ad45f8a2c29afd0da3b0e9491
Author: 成彬彬 <10...@users.noreply.github.com>
AuthorDate: Tue Oct 18 09:57:41 2022 +0800

    [BmlProjectDao]The sql annotation form is optimized to XML (#3649)
---
 .../org/apache/linkis/bml/dao/BmlProjectDao.java   | 41 +------------
 .../linkis/bml/dao/impl/BmlProjectMapper.xml       | 70 ++++++++++++++++++++++
 .../apache/linkis/bml/dao/BmlProjectDaoTest.java   | 19 ++++--
 3 files changed, 85 insertions(+), 45 deletions(-)

diff --git a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/BmlProjectDao.java b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/BmlProjectDao.java
index f9714c7f5..068b51076 100644
--- a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/BmlProjectDao.java
+++ b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/BmlProjectDao.java
@@ -27,31 +27,10 @@ import java.util.List;
 @Mapper
 public interface BmlProjectDao {
 
-  @Insert(
-      "insert ignore into linkis_ps_bml_project(name, `system`, source, description, creator, enabled, create_time) "
-          + "values(#{bmlProject.name}, #{bmlProject.system}, #{bmlProject.source}, #{bmlProject.description}, "
-          + "#{bmlProject.creator}, #{bmlProject.enabled}, #{bmlProject.createTime})")
-  @Options(useGeneratedKeys = true, keyProperty = "bmlProject.id", keyColumn = "id")
   void createNewProject(@Param("bmlProject") BmlProject bmlProject);
 
-  @Select("select * from linkis_ps_bml_project where name = #{projectName}")
-  @Results(
-      value = {
-        @Result(property = "id", column = "id"),
-        @Result(property = "name", column = "name"),
-        @Result(property = "createTime", column = "create_time")
-      })
   BmlProject getBmlProject(@Param("projectName") String projectName);
 
-  @Insert({
-    "<script>",
-    "insert ignore into  linkis_ps_bml_project_user(project_id, username, priv, creator, create_time)",
-    "values",
-    "<foreach collection='usernames' item='username' open='(' separator='),(' close=')'>",
-    "#{projectId}, #{username}, #{priv}, #{creator}, #{createTime}",
-    "</foreach>",
-    "</script>"
-  })
   void setProjectPriv(
       @Param("projectId") Integer projectId,
       @Param("usernames") List<String> usernames,
@@ -59,37 +38,19 @@ public interface BmlProjectDao {
       @Param("creator") String creator,
       @Param("createTime") Date createTime);
 
-  @Select(
-      "select a.priv from linkis_ps_bml_project_user a join linkis_ps_bml_project b on "
-          + "a.project_id = b.id and b.name = #{projectName} and a.username = #{username}")
   Integer getPrivInProject(
       @Param("projectName") String projectName, @Param("username") String username);
 
-  @Insert(
-      "insert ignore into linkis_ps_bml_project_resource(project_id, resource_id) "
-          + "values(#{projectId}, #{resourceId})")
-  // @Options(useGeneratedKeys = true, keyProperty = "bmlProject.id", keyColumn = "id")
   void addProjectResource(@Param("projectId") Integer id, @Param("resourceId") String resourceId);
 
-  @Select(
-      "select a.name from linkis_ps_bml_project a join "
-          + " linkis_ps_bml_project_resource b on b.resource_id = #{resourceId} and a.id = b.project_id")
   String getProjectNameByResourceId(@Param("resourceId") String resourceId);
 
-  @Select("select id from linkis_ps_bml_project where name = #{projectName}")
   Integer getProjectIdByName(@Param("projectName") String projectName);
 
-  @Insert(
-      "insert ignore into linkis_ps_bml_project_resource(project_id, resource_id) "
-          + "values(#{projectId}, #{resourceId})")
   void attachResourceAndProject(
       @Param("projectId") Integer projectId, @Param("resourceId") String resourceId);
 
-  @Select(
-      "select count(*) from linkis_ps_bml_project_resource where project_id = #{resourceId} and resource_id = #{resourceId}")
-  Integer checkIfExists(
-      @Param("projectId") Integer projectId, @Param("resourceId") String resourceId);
+  int checkIfExists(@Param("projectId") Integer projectId, @Param("resourceId") String resourceId);
 
-  @Delete("delete from linkis_ps_bml_project_user where project_id = #{projectId}")
   void deleteAllPriv(@Param("projectId") Integer projectId);
 }
diff --git a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/impl/BmlProjectMapper.xml b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/impl/BmlProjectMapper.xml
new file mode 100644
index 000000000..ff28b0a18
--- /dev/null
+++ b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/dao/impl/BmlProjectMapper.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~ 
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~ 
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+  
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+
+<mapper namespace="org.apache.linkis.bml.dao.BmlProjectDao">
+
+    <insert id="createNewProject" useGeneratedKeys = "true" keyProperty = "bmlProject.id" keyColumn = "id">
+        insert ignore into linkis_ps_bml_project(name, `system`, source, description, creator, enabled, create_time)
+        values(#{bmlProject.name}, #{bmlProject.system}, #{bmlProject.source}, #{bmlProject.description},
+        #{bmlProject.creator}, #{bmlProject.enabled}, #{bmlProject.createTime})
+    </insert>
+
+    <select id="getBmlProject" resultType="org.apache.linkis.bml.entity.BmlProject">
+        select * from linkis_ps_bml_project where name = #{projectName}
+    </select>
+
+    <insert id="setProjectPriv">
+        insert ignore into  linkis_ps_bml_project_user(project_id, username, priv, creator, create_time) values
+        <foreach collection='usernames' item='username' open='(' separator='),(' close=')'>
+            #{projectId}, #{username}, #{priv}, #{creator}, #{createTime}
+        </foreach>
+    </insert>
+
+    <select id="getPrivInProject" resultType="java.lang.Integer">
+        select a.priv from linkis_ps_bml_project_user a join linkis_ps_bml_project b on
+        a.project_id = b.id and b.name = #{projectName} and a.username = #{username}
+    </select>
+    <insert id="addProjectResource" >
+        insert ignore into linkis_ps_bml_project_resource(project_id, resource_id)
+        values(#{projectId}, #{resourceId})
+    </insert>
+
+    <select id="getProjectNameByResourceId" resultType="java.lang.String">
+        select a.name from linkis_ps_bml_project a join
+        linkis_ps_bml_project_resource b on b.resource_id = #{resourceId} and a.id = b.project_id
+    </select>
+    <select id="getProjectIdByName" resultType="java.lang.Integer">
+        select id from linkis_ps_bml_project where name = #{projectName}
+    </select>
+
+    <insert id="attachResourceAndProject">
+        insert ignore into linkis_ps_bml_project_resource(project_id, resource_id)
+        values(#{projectId}, #{resourceId})
+    </insert>
+
+    <select id="checkIfExists" resultType="java.lang.Integer">
+        select count(*) from linkis_ps_bml_project_resource where project_id = #{resourceId} and resource_id = #{resourceId}
+    </select>
+
+    <delete id="deleteAllPriv">
+        delete from linkis_ps_bml_project_user where project_id = #{projectId}
+    </delete>
+</mapper>
+
diff --git a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/test/java/org/apache/linkis/bml/dao/BmlProjectDaoTest.java b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/test/java/org/apache/linkis/bml/dao/BmlProjectDaoTest.java
index a1302394c..3416d60a9 100644
--- a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/test/java/org/apache/linkis/bml/dao/BmlProjectDaoTest.java
+++ b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/test/java/org/apache/linkis/bml/dao/BmlProjectDaoTest.java
@@ -27,6 +27,8 @@ import java.util.List;
 
 import org.junit.jupiter.api.Test;
 
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 class BmlProjectDaoTest extends BaseDaoTest {
 
   @Autowired BmlProjectDao bmlProjectDao;
@@ -41,8 +43,9 @@ class BmlProjectDaoTest extends BaseDaoTest {
     bmlProject.setCreator("creCreatorUser");
     bmlProject.setEnabled(1);
     bmlProject.setCreateTime(new Date());
-    bmlProject.setId(1);
     bmlProjectDao.createNewProject(bmlProject);
+    BmlProject bmlProjects = bmlProjectDao.getBmlProject("testName");
+    assertTrue(bmlProjects != null);
   }
 
   @Test
@@ -64,7 +67,8 @@ class BmlProjectDaoTest extends BaseDaoTest {
   void getPrivInProject() {
     setProjectPriv();
     createNewProject();
-    bmlProjectDao.getPrivInProject("testName", "creCreatorUser");
+    Integer i = bmlProjectDao.getPrivInProject("testName", "creCreatorUser");
+    assertTrue(i != null);
   }
 
   @Test
@@ -74,14 +78,18 @@ class BmlProjectDaoTest extends BaseDaoTest {
 
   @Test
   void getProjectNameByResourceId() {
-    setProjectPriv();
-    bmlProjectDao.getProjectNameByResourceId("123");
+    createNewProject();
+    addProjectResource();
+    String projectName = bmlProjectDao.getProjectNameByResourceId("123");
+    assertTrue(projectName != null);
   }
 
   @Test
   void getProjectIdByName() {
     createNewProject();
     bmlProjectDao.getProjectIdByName("testName");
+    Integer i = bmlProjectDao.getProjectIdByName("testName");
+    assertTrue(i != null);
   }
 
   @Test
@@ -93,7 +101,8 @@ class BmlProjectDaoTest extends BaseDaoTest {
   @Test
   void checkIfExists() {
     setProjectPriv();
-    bmlProjectDao.checkIfExists(1, "123");
+    Integer i = bmlProjectDao.checkIfExists(1, "123");
+    assertTrue(i != null);
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org