spring boot学习(四)---数据库操作
来源:互联网 发布:淘宝好评返现投诉敲诈 编辑:程序博客网 时间:2024/05/16 14:44
四 数据库操作
1.spring data-jpa
spring 对hibernate的一个封装
2.restful接口
restful接口,实现如下功能
3.添加jar包
<!--spring data-jpa--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
在application.yml 添加数据库和hibernate配置
spring: profiles: active: dev datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/myssh?useUnicode=yes&characterEncoding=UTF-8 username: root password: aqiang1003 jpa: hibernate: ddl-auto: create show-sql: true
ddl-auto create 表示每次自动创建表,会把之前的表删除
update 不存在会创建表 ,不会删除表
create-drop 应用停止时删除
none 默认什么都不做
valdate 验证类里的属性和表结构是否一致,不一致会报错
写一个stu类,通过注解自动生成hibernate
package com.boot.entity;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entity //表示这个类就是一个表public class Stu { @Id @GeneratedValue //自增 private Integer id; private String name; private String age; //无参的必须 public Stu() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; }}
在dao中编写StuRepository接口
package com.boot.dao;import org.springframework.data.jpa.repository.JpaRepository;import com.boot.entity.Stu;public interface StuRepository extends JpaRepository<Stu, Integer> {}在Controller中编写StuControllerpackage com.boot.web;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import com.boot.dao.StuRepository;import com.boot.entity.Stu;@RestController@RequestMapping("/stu")public class StuController { @Autowired private StuRepository stuRepository; //由于操作比较简单直接在controller使用dao层接口 @RequestMapping(method=RequestMethod.GET) public List<Stu> stuList(){ return stuRepository.findAll(); }}
在数据库的stu表中填入数据
可以使用火狐浏览器的httprequest插件模拟get请求
http://localhost:8080/stu
如下
在StuController 类中新增方法
/** * 新增 * */ @RequestMapping(method=RequestMethod.POST) public String getAdd(@RequestParam("name") String name,@RequestParam("age") String age){ Stu stu = new Stu(); stu.setAge(age); stu.setName(name); stuRepository.save(stu); return stu.getId().toString(); }
结果如下
剩余3个方法`/**
* 根据id查一个
*
*/
@RequestMapping(value=”/{id}”,method=RequestMethod.GET)
public Stu getById(@PathVariable(“id”) Integer id){
return stuRepository.findOne(id);
}/** * 根据id改一个 * */@RequestMapping(value="/{id}",method=RequestMethod.PUT)public void updateById(@PathVariable("id") Integer id,@RequestParam("name") String name,@RequestParam("age") String age){ Stu stu = stuRepository.findOne(id); stu.setAge(age); stu.setName(name); stuRepository.save(stu);}/** * 根据id删一个 * */@RequestMapping(value="/{id}",method=RequestMethod.DELETE)public void delById(@PathVariable("id") Integer id){ stuRepository.delete(id);}
get
http://localhost:8080/stu/1
put
http://localhost:8080/stu/2
delete
http://localhost:8080/stu/1
最后数据库结果
拓展查询
在StuRepository添加
public List<Stu> findByAge(String age);
在StuController中添加
@RequestMapping(value="/age/{age}",method=RequestMethod.GET) public List<Stu> delById(@PathVariable("age") String age){ return stuRepository.findByAge(age); }
阅读全文
0 0
- spring boot学习(四)---数据库操作
- spring boot学习笔记(03)----数据库操作
- Spring Boot教程(四)Spring Boot 连接MySql数据库
- Spring Boot学习(四)
- spring boot学习笔记(三):controller用法及数据库操作
- Spring Boot Mysql 数据库操作
- Spring Boot数据库基础操作
- Spring boot操作mysql数据库
- Spring-Boot学习笔记(四)JDBC使用
- Spring Boot学习之旅:(四)springboot 整合 fastjson
- spring boot数据库操作(以mysql为例)
- Spring Boot学习记录(四)--问题记录
- Spring Boot学习记录(四)--问题记录
- Spring Boot 实用MyBatis做数据库操作
- Spring Boot 集成Mybatis操作数据库
- Spring Boot链接数据库操作及配置
- spring boot 操作数据库出现乱码解决方案
- Spring Boot (七):操作redis数据库
- oracle中的exists 和not exists 用法
- iOS中UIMenuController使用
- VMware虚拟机共享window本地文件夹
- db2 v10.5点击setup.exe没有反应
- 黑无止境移动安全“漏洞”
- spring boot学习(四)---数据库操作
- IntelliJ IDEA 必备插件(持续更新...)
- Java中的native关键字
- kubernetes1.5.2 Kube-DNS搭建
- JavaScript中forEach与each
- 自动登录(android)
- $.ajax()、$().load()禁用缓存
- Strace of Linux
- Linux内核中的各种锁