zoukankan      html  css  js  c++  java
  • Spring/Spring-Boot 学习 paoding-rose-jade 连接MySQL数据库

    项目依赖

    新建一个spring-boot工程,mavenpom文件中添加如下依赖:

           <!--spring-boot起步依赖-->
           <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
     
            <!--lombok依赖,可简化代码-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
    
            <!--paoding-rose-jade基础依赖, 注意去除paoding-rose-jade中的spring相关依赖,否则会与项目本身的spring-boot冲突引发无法实例化bean的错误-->
            <dependency>
                <groupId>com.54chen</groupId>
                <artifactId>paoding-rose-jade</artifactId>
                <version>1.1</version>
                <!--排除paoding-rose-jade中的Spring相关依赖-->
                <exclusions>
                    <exclusion>
                        <artifactId>spring</artifactId>
                        <groupId>org.springframework</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <!--dbcp数据库连接池依赖-->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>2.7.0</version>
            </dependency>
    
            <!--jdbc依赖-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>5.2.1.RELEASE</version>
            </dependency>
    
            <!--mysql数据库驱动依赖-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
    
            <!--web应用起步依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    

    数据库准备

    # 创建数据库
    CREATE DATABASE db_example;
    # 切换到数据库
    USE db_example;
    # 新建test表
    CREATE TABLE test (id INT, msg VARCHAR(200));
    # 插入一条数据
    INSERT INTO test VALUES(111,'adfaadfa');
    

    项目结构

    项目文件目录结构如下:

    下面依次展示每个文件的代码


    ## 项目代码 > JadeConfig.java ``` @Configuration public class JadeConfig extends JadeBeanFactoryPostProcessor { } ``` 说明: 由名称知道这是一个配置类,只需要像如上继承`JadeBeanFactoryPostProcessor`即可,无需自己实现任何方法。有了如上声明, `jade`框架会帮我们自动处理被`@DAO`注解的类(生成对应`DAO`类的`bean`并注入到容器中)。
    > Test.java ``` //@Data注解属于lombok包,它会在编译阶段帮我们自动生成`getter`和`setter`方法 @Data public class Test { int id; String msg; } ``` 说明: 这是一个简陋的model, 用于返回数据。这里采用`lombok`的注解节省了`setter`和`getter`方法
    > TestDAO.java ``` @DAO public interface TestDAO { @SQL("select id, msg from test limit 1")//从test表中查询所有数据 Test getTest(); } ``` 说明:这个类就是`DAO`类。这个类说明了`paoding-rose-jade`框架的强大的之处,可以使用 `@SQL`注解在方法上直接书写`SQL`语句! 并且只需写如上的接口,加上前面的`JadeConfig.java`类,就完成了`DAO`类的所有配置。 !注意! `jade`框架强制要求被`@DAO`注解的类的名称必须以`DAO`结尾,不能是`Dao`、`dao`等其他形式。如果不是这样,`jade`框架将不能识别这个`DAO`类,无法完成这个类的自动注入
    > TestService.java ``` @Service public class TestService { @Autowired private TestDAO testDAO;
    public Test getTest(){
        return testDAO.getTest();
    }
    

    }

    说明: `service`类,由于上面我们已经配置了`@DAO`注解的`DAO`类以及`JadeConfig`类, 此处的`TestDAO`打上`Autowired`注解后会由框架自动注入。对于IDEA编辑器此处可能会提示`No beans of 'TestDAO' type found`。可不用理会。
    
    <br/>
    >TestController.java
    

    @RestController
    @RequestMapping("/demo")
    public class TestController {
    @Autowired
    TestService testService;

    @RequestMapping(path = "/getTest", method = RequestMethod.GET)
    public Test getTest(){
        return testService.getTest();
    }
    

    }

    说明: 处理查询请求。
    
    <br/>
    最后配置数据源:
    > application.properties
    

    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db_example
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

    说明: `spring.datasource.url`是连接数据库的`url`, `db_example`是数据库名称; `spring.datasource.username` 指定数据库用户名, `spring.datasource.password`指定数据库密码;`spring.datasource.driver-class-name`指定mysql驱动
    
    ## 启动项目
    启动项目,使用浏览器访问:
    `http://localhost:8080/demo/getTest`
    查询到数据库中的数据如下:
    ![](https://img2018.cnblogs.com/blog/1135658/201911/1135658-20191126184223374-2140093650.png)
    
    > 参考
    >> [rose手册](http://www.54chen.com/rose.html)
    >> [spring boot整合 paoding-rose-jade](https://blog.csdn.net/qq_33547169/article/details/84871048)
    >> [Spring Boot 集成 paoding-rose-jade](http://blog.kail.xyz/post/2017-03-14/spring/spring-boot-rose.html)
  • 相关阅读:
    多边形游戏
    大整数乘法
    矩阵连乘
    最长公共子序列
    动态规划
    快速排序
    二分搜索技术
    动态规划基本要素
    合并排序
    最大子段和
  • 原文地址:https://www.cnblogs.com/greatLong/p/11937564.html
Copyright © 2011-2022 走看看