JavaEE进阶知识学习-----SpringBoot基础知识-4-数据库知识
2018-02-07 15:54
651 查看
下面学习的是数据库相关知识
数据库使用的是MySQL,持久化技术使用的就是spring-data-jpa,RESTFul API如下1.pom文件中添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
2.application.yml文件中配置数据库信息和jpa
spring: profiles: active: prod datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dbspringboot username: root password: 123456 jpa: hibernate: ddl-auto: create show-sql: true
其中的 ddl-auto: create表示每次都会删除原先存在的表,就是说如果表中存在数据,运行程序数据就不存在了。
也可以是 update:会创建表,如果表中有数据,不会删除表。
3.创建一个实体类User,如下所示
@Entity public class User { @Id @GeneratedValue private Integer id; private String userName; private Integer age; public User(){ } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
当我们再次启动程序的时候时候,dbspringboot数据库中就会多一个user表,其中表字段就是实体类所对应的字段,这是jpa相关的知识,具体将在以后仔细学习和记录。
4.创建UserController
@RestController public class UserController { @Autowired private UserRepository userRepository; @GetMapping(value = "/users") public List<User> userList(){ return userRepository.findAll(); } }
5.UserRepository接口的代码如下
public interface UserRepository extends JpaRepository<User,Integer> { }
6.访问
使用http://localhost:8082/gire/users访问,如下:7.restful风格的完整代码如下:
@RestController public class UserController { @Autowired private UserRepository userRepository; /** * 查询用户列表 * @return */ @GetMapping(value = "/users") public List<User> userList(){ return userRepository.findAll(); } /** * 添加一个用户 * @param userName * @param age * @return */ @PostMapping(value = "/users") public User addUser(@RequestParam("userName")String userName,@RequestParam("age")Integer age){ User user = new User(); user.setUserName(userName); user.setAge(15); return userRepository.save(user); } /** * 根据id查询用户 * @return */ @GetMapping(value = "/users/{id}") public User getUserById(@PathVariable("id") Integer id){ return userRepository.findOne(id); } /** * 根基id修改用户 * @param id * @param userName * @param age * @return */ @PutMapping(value = "/users/{id}") public User updateUserById(@PathVariable("id") Integer id,@RequestParam("userName")String userName,@RequestParam("age")Integer age){ User user = new User(); user.setId(id); user.setAge(age); user.setUserName(userName); return userRepository.save(user); } /** * 根据id删除用户 * @param id */ @DeleteMapping(value = "/users{id}") public void deleteUserById(@PathVariable("id") Integer id){ userRepository.delete(id); } @GetMapping(value = "users/age/{age}") public List<User> listUserByAge(@PathVariable("age") Integer age){ return userRepository.findByAge(age); } }
上述代码中我们也扩展了使用年龄来查询用户,在UserRepository接口中我们扩展了这个方法如下所示:
//通过年龄查询,方法名有规定 public List<User> findByAge(Integer age);
相关文章推荐
- JavaEE进阶知识学习-----SpringBoot基础知识-5-事务管理知识
- JavaEE进阶知识学习-----SpringBoot基础知识-1-项目初始化知识
- JavaEE进阶知识学习-----SpringBoot基础知识-2-配置文件知识
- JavaEE进阶知识学习-----SpringBoot基础知识-3-控制类知识
- JavaEE进阶知识学习-----SpringBootWeb进阶-6-表单验证知识
- JavaEE进阶知识学习-----SpringBootWeb进阶-7-AOP处理请求知识
- JavaEE进阶知识学习-----SpringBootWeb进阶-8-异常处理知识
- JavaEE进阶知识学习-----SpringBootWeb进阶-9-单元测试知识
- springboot基础知识学习
- Spring Boot 基础知识学习(二)——配置文件多环境配置
- SpringBoot 基础知识学习(二)——配置文件多环境配置
- Spring Boot 基础知识学习(一)——快速入门
- Spring Boot学习进阶笔记(二)-JdbcTemplate访问数据库
- 学习笔记之微服务构建Spring Boot基础知识
- Spring Boot基础知识
- 学习Spring必学的Java基础知识(1)----反射
- 学习Spring必学的Java基础知识(5)----注解
- 超详细的java基础知识学习(java SE、javaEE)笔记 核心重点!
- Spring基础学习-(1)Spring基础知识
- 学习Spring必学的Java基础知识(9)----HTTP报文(系列全)