重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关如何使用loyom-crud-spring-boot-starter构建CRUD后端API,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联公司服务项目包括凤凰网站建设、凤凰网站制作、凤凰网页制作以及凤凰网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,凤凰网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到凤凰省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
框架 loyom-crud-spring-boot-starter 是基于SpringBoot 的 Web和JPA 构建而成的,因此只支持SpringBoot的项目
首先:
我们先建立一个Java maven 项目. pom配置如下:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.1.RELEASE com.loyom crud-demo 1.0-SNAPSHOT UTF-8 UTF-8 1.8 UTF-8 1.8 1.8 com.loyom loyom-crud-spring-boot-starter 1.1.RELEASE org.springframework.boot spring-boot-maven-plugin loyom-public loyom public http://oen.im/nexus/repository/maven-public/ true always warn true always warn
因为框架jar并未发布到中央仓库,因此现使用
http://oen.im/nexus/repository/maven-public/
仓库地址
配置好了pom文件后再设置application.yml
server: port: 8080 session-timeout: 1800 connection-timeout: 5000 spring: application: name: CrudDemo profiles: active: dev jackson: #日期格式化 date-format: yyyy-MM-dd HH:mm:ss serialization: #格式化输出 indent_output: true #忽略无法转换的对象 fail_on_empty_beans: true #设置空如何序列化 defaultPropertyInclusion: ALWAYS deserialization: #允许对象忽略json中不存在的属性 fail_on_unknown_properties: false parser: #允许出现特殊字符和转义符 allow_unquoted_control_chars: true #允许出现单引号 allow_single_quotes: true datasource: url: jdbc:MySQL://127.0.0.1:3306/db_test?useUnicode=true&autoReconnect=true&failOverReadOnly=false&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true username: root password: 123456789 driver-class-name: com.mysql.cj.jdbc.Driver max-active: 100 max-idle: 8 min-idle: 8 initial-size: 10 validation-query: select 1 max-wait-millis: 10000 jpa: generate-ddl: true show-sql: true database: mysql properties: { "hibernate.naming.physical-strategy": "org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy"} hibernate: use-new-id-generator-mappings: false enable_lazy_load_no_trans: true naming: physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy configuration: map-underscore-to-camel-case: true logging: path: ./logs level: com.loyom: debug
配置弄好了以后,
需要在数据库中建立一个空数据库 db_test ,
create database `db_test` default charset utf8mb4 collate utf8mb4_bin;
因为在配置中配置了自动建表,因此不用手动创建表,现在可以开始写代码了...
首先搞个启动类:
package com.loyom.crud.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoLauncher { public static void main(String[] args) { SpringApplication.run(DemoLauncher.class, args); } }
再写个数据库类:
package com.loyom.crud.demo; import javax.persistence.*; @Entity @Table(name = "test_data") public class TestData { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false, length = 18) private Long id; @Column(name = "name", nullable = false, length = 50) private String name; @Column(name = "level", nullable = false) private Integer level; @Column(name = "create_time", nullable = false, length = 14) private Long createTime; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getLevel() { return level; } public void setLevel(Integer level) { this.level = level; } public Long getCreateTime() { return createTime; } public void setCreateTime(Long createTime) { this.createTime = createTime; } }
再搞个数据库操作类:
package com.loyom.crud.demo; import com.loyom.crud.annotation.CrudController; import com.loyom.crud.service.AbsDao; @CrudController("test") public interface TestDao extends AbsDao{ }
好了,大功告成...现在启动项目就可以访问关于TestData的Crud操作了..
访问的API前缀为 /crud/{在CrudController中配置的名字}/操作
在此demo中CrudController注解配置的名字为 test,因此
可用的API为:
/crud/test/create 创建一个对象
/crud/test/delete 根据ID删除一个对象
/crud/test/update 根据ID更新一个对象
/crud/test/find 根据条件查询对象列表
/crud/test/count 根据条件统计有多少个对象
/crud/test/findById 根据ID查询对象
/crud/test/page 根据条件进行翻页查询
前端则可以根据这些API进行相应的CRUD操作啦...
什么觉得不够?
那在CrudController注解中可以添加around属性
@CrudController(value = "test",around = MethodAroundHandler.class)
只需要继承MethodAroundHandler类并覆盖里面的方法则可以实现自己的定制化查询...
所以上面图片中的创建API的输入进去的数据和创建出来的数据看起来不一样,就是因为再自定义的MethodAroundHandler类中覆盖了相关方法并进行了修改,所以才会出现输入的类容和实际创建的不一样.支持自定义的哦.
关于如何使用loyom-crud-spring-boot-starter构建CRUD后端API就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。