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)
  • 相关阅读:
    Fix Installing .NET Framework 3.5 failed Error Code 0x800F0954 on Windows 10
    RHEL8安装五笔输入法
    Enable EPEL and Local Repository on RHEL8
    Why is Yum Replaced by DNF?
    检查Linux服务器是否被攻击的常用命令及方法
    IDEA 主题
    IDEA 如何显示一个类中所有的方法
    Appium 安装以及安装过程中遇到的问题
    Maven 如何发布 jar 包到 Nexus 私库
    java泛型的基本使用
  • 原文地址:https://www.cnblogs.com/greatLong/p/11937564.html
Copyright © 2011-2022 走看看