![640?wx_fmt=jpeg](https://img-blog.csdnimg.cn/img_convert/0b589c1bec73f126c662fa7039b07cb4.png)
作者 | Lee宇斌
来源 | blog.csdn.net/qq_30258957
新建项目
@SpringBootApplication
注解,右键Run XX即可启动项目。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/a6f3fe5e6260623112c0e1d3c8c4d74d.png)
![640](https://img-blog.csdnimg.cn/img_convert/5b8d4e12bf970032c361a6fd896b548a.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/eaa55866bece422cc11e0143ad8a6644.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/d7b4abc4b13cac514bc2f0ef22919458.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/1b0777c42f57fe1b1cc79915119973f9.png)
键:值
,用
@Value("${键}")
的方式即可注入。 直接用${}就可以在xml中进行引用。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/8e0c2efe42d533ef757acd797bdd9947.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/e8b2360c288e2aa2dffb4be91b70d1ae.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/e54d9cfae8d9412bbc06a4d5f335888c.png)
@Component
定义Spring管理Bean,
@ConfigurationProperties
指定前缀内容。
@Component
注解相当于:@Service,@Controller,@Repository,并下面类纳入进spring容器中管理。这样才能被下一层@Autowired注入该对象。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/30527432bee7c08e9d4c81bde4fe2a17.png)
@SpringBootApplication
,即可访问Controller的内容。 ![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/c453017528a0091f49f7e61b194955b4.png)
@RestController
@RequestMapping
@RequestMapping(value={"/say","/hi"})
。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/ba800abac859e342316e33208096e63f.png)
http://localhost:8080/hello/233333/say
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/7a4a9d06ff9850ec202d735e9ad3fe24.png)
http://localhost:8080/hello/say?id=110
(@RequestParam(value = "id", required = false, defaultValue = "0") Integer id)
,如何不传id,它就会默认为0。
@RequestMapping(value="/say",method = RequestMethod.GET)
也可以写成GetMapping(value="/say")
的方式。
@Transactional
@Transactional
注解,即说明其为同个事务。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/592b662b7fa70f4afc3c48ff0da0ceb9.png)
ALTER TABLE girl ENGINE=innodb
命令。
数据库操作
创建表
要操作数据库,首先添加组件
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/a2c47560b51385f1e8ae5637ddcaae4e.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/a0fd53e89e96500a1cc183d3fdfb371c.png)
ddl-auto: create
:每次都重新创建数据库,数据不保存,要保存得用
update
。
show-sql: true
:打印sql语句。
@Entity
注解,标注id
@Id
,自增长
@GeneratedValue
,运行之后数据库就会自动生成对应表。
ddl-auto: create
配置将决定表是创建create还是更新update
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/bcc25c5b22b1c203544949ba0ae977de.png)
JPA实现增删改查
JpaRepository<Girl, Integer>
,注入接口,直接调用
JpaRepository
中的CRUD方法即可实现查询所有。
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/b913679f3a036b224b4f18935f082190.png)
/**
* 查询所有
* @return
*/
(value = "/girls")
public List<Girl> girlList() {
return girlRepository.findAll();
}
/**
* 根据id查询
* @param id
* @return
*/
(value = "/girlById/{id}")
public Girl girlFindOne( ("id") Integer id) {
Optional<Girl> temp = girlRepository.findById(id);
//从返回值中获取值
return temp.get();
}
/**
* 添加内容
* @param age
*/
(value = "/girlAdd")
public Girl girlAdd( ("size") String size, ("age") Integer age) {
Girl girl = new Girl();
girl.setAge(age);
girl.setSize(size);
return girlRepository.save(girl);
}
/**
* 更新
*/
(value = "/moGirlById/{id}")
public Girl girlUpdate( ("id") Integer id, ("age") Integer age, ("size") String size) {
Girl girl = new Girl();
girl.setId(id);
girl.setAge(age);
girl.setSize(size);
return girlRepository.save(girl);
}
/**
* 删除
*/
(value = "/delGirls/{id}")
public void girlDelete( ("id") Integer id) {
Girl girl = new Girl();
girl.setId(id);
girlRepository.delete(girl);
}
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/3161bc4d896862240114ce03443c43d8.png)
![640?wx_fmt=png](https://img-blog.csdnimg.cn/img_convert/5ba0bcc222c21b43fcca352e1c7f5cb2.png)