欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot基础

程序员文章站 2022-04-22 13:38:28
...

srpingboot配置相关

利用maven启动项目

mvn spring-boot:run

项目打包

mvn clean package
java -jar 启动jar文件

配置文件

yml
	server:
		port: 8080
		servlet:
		context-path:  /hello   项目路径
与配置类相对应
	limit:
		minMoney: 2
		maxMoney: 9999
		desc: 最少要${limit.minMoney},最多${limit.maxMoney}

配置类:

注解
@Component
@ConfigurationProperties(prefix = “limit”) 
多配置文件
application.yml
application-dev.yml       测试
application-prod.yml      生产
在application.yml中设置
spring:
 	profiles:
   	active: dev    ------------指定执行哪个文件

Controller使用

  • @RestController

     以json格式返回结果
    
  • @GetMapping({"/sayHello", “/sayHi”})

      可以使用数组
      http://localhost:8080/hello/sayHi   http://localhost:8080/hello/sayHello 等价
    
      @GetMapping("/sayHello") springboot2.x                                                             		     		
      @RequestMapping(value = "sayHello", method = RequestMethod.GET) springboot1.x
    
  • @RequestMapping("/say")

      设置当前文件的访问路径,此时路径为http://localhost:8080/hello/say/Hello
    
  • @PathVariable

  • @RequestParam

  • 获取url中的参数

@GetMapping("/getId")
public String getId(@RequestParam("id") Integer id){
   return "id:" + id;
}
@RequestParam(value = "id", required = false, defaultValue = "0") Integer id

数据库相关

依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

配置文件

spring:
 	 datasource:
   		 driver-class-name: com.mysql.cj.jdbc.Driver 	--------数据库驱动
   		 url: jdbc:mysql://localhost:3306/luckymoney?serverTimezone=GMT&characterEncoding=utf8 --第一个设置时区,第二个设置编码
   		 username: root
   		 password: root
  jpa:
     show-sql: true              ---展示sql
     hibernate:
	     ddl-auto: update       ---更新数据库而不是创建

实体类

  • 类注解:@Entity
  • 主键注解:@Id 主键 @GeneratedValue自增

数据库接口

第一个参数:实体类 第二个参数 主键类型

public interface LuckymoneyRespository extends JpaRepository<Luckymoney, Integer> {}

增删改查

respository.findAll() 		 	 查询所有返回一个List
respository.save(luckymoney)	 新增一条记录或修改一条记录
respository.findById(id)			 根据id查询一个   
respository.findById(id).orElse(null)	如过查询不到返回null,查到返回值为Optional<Luckymoney> optional
if (optional.isPresent()) {  //判断optional里边是否与内容
	Luckymoney luckymoney = optional.get();  //get获取查询到的内容
	luckymoney.setConsumer(consumer);
	return lockymoneyRespository.save(luckymoney); //此时save时更新
}

事务

  • 事务注解 @Transactional 对应的包:org.springframework.transaction.annotation.Transactional
  • 数据库引擎 InnoDB