建设类似衣联网的网站,怎么找做网站的人,关于wordpress更新时无法创建目录,营销网站与企业网站的区别推荐文章
给软件行业带来了春天——揭秘Spring究竟是何方神圣#xff08;一#xff09; 给软件行业带来了春天——揭秘Spring究竟是何方神圣#xff08;二#xff09; 给软件行业带来了春天——揭秘Spring究竟是何方神圣#xff08;三#xff09; 给软件行业带来了春天—…推荐文章
给软件行业带来了春天——揭秘Spring究竟是何方神圣一 给软件行业带来了春天——揭秘Spring究竟是何方神圣二 给软件行业带来了春天——揭秘Spring究竟是何方神圣三 给软件行业带来了春天——揭秘Spring究竟是何方神圣四 给软件行业带来了春天——揭秘Spring究竟是何方神圣五 文章目录 推荐文章创建项目导入依赖配置Application连接数据库项目结构初始化数据层POJO数据访问层Mapper业务层Service控制层(Controller) 测试项目 创建项目
打开idea新建一个项目。 选择springboot进行初始化。 勾选需要添加的依赖也可后续在pom文件中进行添加也可 点击完成即可生成对应的项目。 导入依赖
打开pom.xml文件可以看到目前项目的依赖配置 配置Application
将application文件更改为.yml格式不改使用.properties格式也是可以的看个人习惯
server:port: 8080
spring:#解决SpringBoot2.6.0与swagger冲突问题【原因是在springboot2.6.0中将SpringMVC 默认路径匹配策略从AntPathMatcher 更改为PathPatternParser导致出错解决办法是切换回原先的AntPathMatcher】mvc:pathmatch:matching-strategy: ant_path_matcher#配置数据源datasource:#配置数据源类型type: com.zaxxer.hikari.HikariDataSource#配置数据库连接属性driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/testusername: rootpassword: xxxxxxhikari:connection-test-query: SELECT 1connection-timeout: 60000idle-timeout: 500000max-lifetime: 540000maximum-pool-size: 12minimum-idle: 10pool-name: GuliHikariPoolthymeleaf:#模板的模式支持 HTML, XML TEXT JAVASCRIPTmode: HTML5#编码 可不用配置encoding: UTF-8#开发配置为false,避免修改模板还要重启服务器cache: false#配置模板路径默认是templates可以不用配置prefix: classpath:/static/jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT8servlet:#设置文件上传上限multipart:max-file-size: 10MBmax-request-size: 100MB
mybatis-plus:configuration:#添加日志支持log-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath*:/mapper/**/*.xml 连接数据库
连接数据库填写数据库相应的信息和application中的datasource数据源数据保持一致。 点击连接信息无误后即可看到连接成功数据库也出现在idea侧边栏中。 同时创建后续的测试数据 项目结构初始化
创建需要的mapper、service、cotroller包等 数据层POJO
POJO实质上可以理解为简单的实体类顾名思义POJO类的作用是方便程序员使用数据库中的数据表对于广大的程序员可以很方便的将POJO类当做对象来进行使用当然也是可以方便的调用其get,set方法。 创建entity包
public class test {private Integer id;private String user;private String password;public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getUser() {return user;}public void setUser(String user) {this.user user;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}
} 数据访问层Mapper
Mapper模式通常是指对象-关系映射ORM中的组件。它负责将领域对象和数据库表之间进行映射实现数据的读取和写入。Mapper将数据库操作转换为对象操作屏蔽了底层数据库的细节使得开发人员可以使用面向对象的方式操作数据。它可以处理对象与关系型数据库之间的转换包括查询、插入、更新和删除等操作。
创建mapper接口
Repository
Mapper
public interface TestMapper {/*** 增加一条数据* param tests 数据*/void add(test tests);/*** 删除一条数据* param id 被删除数据的id*/void delete(Integer id);/*** 修改一条数据* param tests 修改的数据*/void update(test tests);/*** 根据id去查询一条数据* param id 查询的id*/test queryById(Integer id);/*** 查询全部数据* return*/Listtest queryAll();}创建mapper接口对应的xml文件 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.nolan.malls.mapper.TestMapperinsert idadd parameterTypecom.nolan.malls.entity.testinsert into tb_test (id,user,password) values (#{id},#{user},#{password});/insertupdate idupdate parameterTypecom.nolan.malls.entity.testupdate tb_test set id#{id},user#{user},password#{password} where id#{id};/updateselect idqueryById parameterTypeinteger resultTypecom.nolan.malls.entity.testselect * from tb_test where id#{id};/selectselect idqueryAll resultTypecom.nolan.malls.entity.testselect * from tb_test;/selectdelete iddelete parameterTypeintegerdelete from tb_test where id#{id};/delete/mapper 业务层Service
Service层服务层由于Dao里面存放了对表操作的方法entity类中存放了映射表的POJO类。Service的作用就是将Dao和entity类整合起来进行再次封装封装成一个方法我们调用这个方法就实现了对某个表的增删改查操作。 Dao的作用是封装对数据库的访问增删改查不涉及业务逻辑只是达到按某个条件获得指定数据的要求而Service则是专注业务逻辑对于其中需要的数据库操作都通过Dao去实现。 创建service层 Service
public class TestServiceImpl implements TestService {Autowiredprivate TestMapper testMapper;Overridepublic void add(test tests){testMapper.add(tests);}Overridepublic void update(test tests){testMapper.update(tests);}Overridepublic test queryById(Integer id){return testMapper.queryById(id);}Overridepublic Listtest queryAll(){return testMapper.queryAll();}Overridepublic void delete(Integer id){testMapper.delete(id);}}public interface TestService {/*** 增加一条数据* param tests 数据*/void add(test tests);/*** 删除一条数据* param id 被删除数据的id*/void delete(Integer id);/*** 修改一条数据* param tests 修改的数据*/void update(test tests);/*** 根据id去查询一条数据* param id 查询的id*/test queryById(Integer id);/*** 查询全部数据* return*/Listtest queryAll();} 控制层(Controller)
Controller负责请求转发接受页面传递过来的参数根据参数的不同是调用不同的Service层方法进行操作操作完成后将返回结果传递给页面。 Controller负责具体的业务模块流程的控制Service层负责业务模块的逻辑应用设计 创建controller层 Controller
RequestMapping(value /test)
public class TestController {Autowiredprivate TestService testService;GetMappingResponseBodypublic String queryAll(){Listtest testListtestService.queryAll();return JSON.toJSONString(testList);}//使用了RestFull风格GetMapping(/{id})ResponseBodypublic String query(PathVariable(value id)Integer id){test teststestService.queryById(id);Listtest testList new ArrayList();testList.add(tests);return JSON.toJSONString(testList);}PostMappingResponseBodypublic String add(RequestBody test tests){testService.add(tests);return 添加成功;}DeleteMappingResponseBodypublic String delete(PathVariable(id) Integer id){testService.delete(id);return 删除成功;}PutMappingResponseBodypublic String update(PathVariable(id)Integer id,RequestBody test test){test.setId(id);testService.update(test);return 修改完成;}} 测试项目
选择idea中自带的http client工具进行测试请求。
GET http://127.0.0.1:9080/test
Accept: application/json至此一个简单的Springboot项目就搭建完成了。