项目依赖
新建一个spring-boot
工程,maven
的pom
文件中添加如下依赖:
<!--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
。可不用理会。
TestController.java
@RestController @RequestMapping("/demo") public class TestController { @Autowired TestService testService; @RequestMapping(path = "/getTest", method = RequestMethod.GET) public Test getTest(){ return testService.getTest(); } }
说明: 处理查询请求。
最后配置数据源:
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
查询到数据库中的数据如下:
参考
rose手册
spring boot整合 paoding-rose-jade
Spring Boot 集成 paoding-rose-jade
来源:https://www.cnblogs.com/greatLong/p/11937564.html