推荐文章
给软件行业带来了春天——揭秘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 更改为PathPatternPars服务器托管网er,导致出错,解决办法是切换回原先的AntPathMatcher】
mvc:
pathmatch:
matching-strategy: ant_path_matcher
#配置数据源
datasource:
#配置数据源类型
type: com.zaxxer.hikari.HikariDataSource
#配置数据库连接属性
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test
username: root
password: xxxxxx
hikari:
connection-test-query: SELECT 1
connection-timeout: 60000
idle-timeout: 500000
max-lifetime: 540000
maximum-pool-size: 12
minimum-idle: 10
pool-name: GuliHikariPool
thymeleaf:
#模板的模式,支持 HTML, XML TEXT JAVASCRIPT
mode: HTML5
#编码 可不用配置
encoding: UTF-8
#开发配置为false,避免修改模板还要重启服务器
cache: false
#配置模板路径,默认是templates,可以不用配置
prefix: classpath:/static/
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
servlet:
#设置文件上传上限
multipart:
max-file-size: 10MB
max-request-size: 100MB
mybatis-plus:
configuration:
#添加日志支持
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-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
*/
List queryAll();
}
创建mapper接口对应的xml文件
insert into tb_test (id,user,password) values (#{id},#{user},#{password});
update tb_test set id=#{id},user=#{user},password=#{password} where id=#{id};
select * from tb_test where id=#{id};
select * from tb_test;
delete from tb_test where id=#{id};
业务层(Service)
Service层:服务层
由于Dao里面存放了对表操作的方法,entity类中存放了映射表的POJO类。Service的作用就是将Dao和entity类整合起来,进行再次封装,封装成一个方法,我们调用这个方法,就实现了对某个表的增删改查操作。
Dao的作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求;
而Service,则是专注业务逻辑,对于其中需要的数据库操作,都通过Dao去实现。
创建service层
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestMapper testMapper;
@Override
public void add(test tests){
testMapper.add(tests);
}
@Override
public void update(test tests){
testMapper.update(tests);
}
@Override
public test queryById(Integer id){
return testMapper.queryById(id);
}
@Override
public List queryAll(){
return testMapper.queryAll();
}
@Override
public 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
*/
List queryAll();
}
控制层(Controller)
Controller
负责请求转发,接受页面传递过来的参数,根据参数的不同,是调用不同的Service层方法进行操作,操作完成后将返回结果传递给页面。
Controller负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计
创建controller层
@Controller
@RequestMapping(value = "/test")
public class TestController {
@Autowired
private TestService testService;
@GetMapping
@ResponseBody
public String queryAll(){
List testList=testService.queryAll();
return JSON.toJSONString(testList);
}
//使用了RestFull风格
@GetMapping("/{id}")
@ResponseBody
public String query(@PathVariable(value = "id")Integer id){
test tests=testService.queryById(id);
List testList = new ArrayList();
testList.add(tests);
return JSON.toJSONString(testList);
}
@PostMapping
@ResponseBody
public String add(@RequestBody test tests){
testService.add(tests);
return "添加成功";
}
@DeleteMapping
@ResponseBody
public String delete(@PathVariable("id") Integer id){
testService.delete(id);
return "删除成功";
}
@PutMapping
@ResponseBody
public 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项目就搭建完成了。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net