mysql 父类子类查询

查出子
DELIMITER $$


DROP FUNCTION IF EXISTS `getDeptChildList`$$
CREATE FUNCTION `getDeptChildList`(rootId INT) RETURNS varchar(1000) CHARSET utf8
    READS SQL DATA
    DETERMINISTIC
BEGIN 
       DECLARE pTemp VARCHAR(1000);  
       DECLARE cTemp VARCHAR(1000); 
      
       SET pTemp = '$';  
       SET cTemp =cast(rootId as CHAR);
      
       WHILE cTemp is not null DO  
         SET pTemp = concat(pTemp,',',cTemp);
         SELECT group_concat(id) INTO cTemp FROM roll_work_comment   
         WHERE FIND_IN_SET(mes_id,cTemp)>0; 
       END WHILE;  
       RETURN pTemp;  
     END;


 $$


DELIMITER ;
SELECT * FROM roll_work_comment  WHERE FIND_IN_SET(id,getDeptChildList(1)) ORDER BY id and mes_id;


查出父
SELECT T2.*
FROM ( 
    SELECT 
        @r AS _id, 
        (SELECT @r := mes_id FROM roll_work_comment WHERE id = _id) AS mes_id, 
        @l := @l + 1 AS lvl 
    FROM 
        (SELECT @r := 3, @l := 0) vars, 
        roll_work_comment h 
    WHERE @r <> 0) T1 
JOIN roll_work_comment T2 
ON T1._id = T2.id 
ORDER BY T1.lvl DESC 
<think>好的,我现在需要帮助用户了解如何使用Maven和Spring结合MySQL构建父子类项目。首先,我需要回顾用户提供的引用内容,看看是否有相关的信息可以利用。 用户引用了三个关于Spring Cloud和Maven父子项目的构建步骤。引用[1]提到了创建父工程的具体步骤,包括开发工具、JDK版本、Spring Cloud和Spring Boot版本的对应关系。引用[2]是关于Zuul网关的启动类配置,而引用[3]则涉及如何用IDEA新建Maven父项目。这些信息对构建父项目和子模块的结构很有帮助,但用户还提到要结合MySQL,因此可能需要整合数据库配置的部分。 接下来,我需要整理构建父子项目的步骤。首先,父项目的创建是关键,因为它管理依赖版本。然后添加子模块,比如Spring Boot应用模块和数据库模块。用户需要MySQL的支持,所以需要配置数据源、JPA或MyBatis等持久层框架。 可能的步骤包括: 1. 创建父工程,设置pom.xml中的依赖管理,特别是Spring Boot和Spring Cloud的版本,以及MySQL驱动、连接池、JPA等依赖。 2. 创建公共模块作为子模块,处理通用配置。 3. 创建业务模块(如用户服务),添加Spring Data JPA和MySQL的配置,包括application.yml中的数据库连接信息。 4. 在父工程中聚合子模块,确保依赖继承。 需要注意的地方是父pom的packaging必须为pom,子模块需要在父工程中通过<modules>标签聚合。此外,数据库配置需要在子模块的配置文件中正确设置,包括url、用户名、密码等。 用户可能遇到的问题包括依赖版本冲突、子模块无法识别父pom中的依赖、数据库连接失败等。因此,在回答中需要强调版本一致性,并检查配置是否正确。 最后,生成相关问题,可能涉及依赖管理、多模块配置、数据库集成、事务管理、配置文件处理以及项目构建工具选择等。</think>### 使用Maven和Spring整合MySQL构建父子类项目的步骤 #### 一、创建Maven父项目 1. **新建父工程** 在IDE(如IntelliJ IDEA)中选择新建Maven项目,设置`packaging`为`pom`,用于管理子模块的公共依赖版本[^1][^3]。 ```xml <!-- pom.xml --> <groupId>com.example</groupId> <artifactId>parent-project</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <dependencyManagement> <dependencies> <!-- 定义Spring Boot版本 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.8.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!-- MySQL驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> </dependencyManagement> ``` #### 二、添加子模块 1. **公共模块(common)** 用于存放数据库实体类、工具类等公共代码: ```xml <!-- common/pom.xml --> <parent> <groupId>com.example</groupId> <artifactId>parent-project</artifactId> <version>1.0.0</version> </parent> <artifactId>common</artifactId> ``` 2. **业务模块(user-service)** 集成Spring Boot和MySQL: ```xml <!-- user-service/pom.xml --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>common</artifactId> <version>1.0.0</version> </dependency> </dependencies> ``` #### 三、配置MySQL数据库 1. **在子模块中添加配置文件** ```yaml # user-service/src/main/resources/application.yml spring: datasource: url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true ``` 2. **定义实体类与Repository** ```java // common/src/main/java/com/example/model/User.java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getters/setters } // user-service/src/main/java/com/example/repository/UserRepository.java public interface UserRepository extends JpaRepository<User, Long> {} ``` #### 四、启动类与父工程聚合 1. **父工程聚合子模块** ```xml <!-- 父pom.xml --> <modules> <module>common</module> <module>user-service</module> </modules> ``` 2. **业务模块启动类** ```java @SpringBootApplication public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ``` #### 五、验证与运行 1. 确保MySQL服务已启动且数据库`mydb`存在 2. 运行`UserServiceApplication`,检查控制台是否输出Hibernate建表日志 3. 通过REST API或单元测试验证数据库操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值