从入门到入门-Spring Boot-CRUD+Transactional
来源:互联网 发布:彩票控 知乎 编辑:程序博客网 时间:2024/06/10 07:46
pom.xml 主要添加Mysql和JPA依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>sbd</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>sbd</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
application.yml 配置数据库连接信息和TOMCAT端口
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test username: root password: 123456 jpa: hibernate: ddl-auto: update show-sql: trueserver: port: 8888
SbdApplication.java SpringBoot 启动类
package com.example.sbd;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class SbdApplication {public static void main(String[] args) {SpringApplication.run(SbdApplication.class, args);}}
UserController.java 控制器,主要用于请求跳转
package com.example.sbd.controller;import com.example.sbd.dao.UserRespository;import com.example.sbd.entity.User;import com.example.sbd.service.UserService;import com.example.sbd.vo.UserVO;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;/** * 在用POSTMAN时 * PUT 方式 提交参数要用"x-www-form-urlencoded" * POST方式 提交参数要用form-data * * JSON方式 参数用@RequestBody */@RestControllerpublic class UserController { @Autowired private UserService userService; /** * 查询所有用户列表 * @return */ @GetMapping(value = "/users") public List<User> UserList(){ return userService.findAll(); } /** * 添加一个用户
* 注意是POST提交 (FORM表单提交) * @param name * @param age * @return */ @PostMapping(value = "/users") public User UserAdd(@RequestParam("name") String name, @RequestParam("age") Integer age){ UserVO user = new UserVO(); user.setName(name); user.setAge(age); return userService.addUser(user); } /** * 添加一个用户(使用JSON方式传递参数) * @param uservo * @return */ @PostMapping(value = "/usersJson") public User UserAdd2(@RequestBody UserVO uservo){ return userService.addUser(uservo); } /** * 查询一个用户 * @param id * @return */ @GetMapping(value = "/users/{id}") public User UserFindOne(@PathVariable("id") Integer id){ return userService.findUser(id); } /** * 更新用户信息 * */ @PutMapping(value = "/users/{id}") public User UserUpdate(@PathVariable("id") Integer id,@RequestParam("name") String name, @RequestParam("age") Integer age){ UserVO userVO = new UserVO(); userVO.setId(id); userVO.setAge(age); userVO.setName(name); return userService.updateUser(userVO); } /** * 删除一个用户 */ @DeleteMapping(value = "/users/{id}") public void UserDelete(@PathVariable("id") Integer id){ userService.deleteUser(id); } /** * 通过年龄查询用户 */ @GetMapping(value = "/users/age/{age}") public List<User> UserListByAge(@PathVariable("age") Integer age){ return userService.findByAge(age); } @PostMapping(value = "/users/two") public void UserTwo(){ userService.insertTwo(); }}
UserService Service类,主要用于业务逻辑处理
package com.example.sbd.service;import com.example.sbd.dao.UserRespository;import com.example.sbd.entity.User;import com.example.sbd.vo.UserVO;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import javax.transaction.Transactional;import java.util.List;@Servicepublic class UserService { @Autowired private UserRespository userRespository; public List<User> findAll(){ return userRespository.findAll(); } public User addUser(UserVO userVO){ User user = new User(); user.setAge(userVO.getAge()); user.setName(userVO.getName()); return userRespository.save(user); } public User findUser(Integer id){ return userRespository.findOne(id); } public User updateUser(UserVO userVO){ User user = new User(); user.setId(userVO.getId()); user.setName(userVO.getName()); user.setAge(userVO.getAge()); return userRespository.save(user); } public void deleteUser(Integer id){ userRespository.delete(id); } public List<User> findByAge(Integer age){ return userRespository.findByAge(age); } @Transactional public void insertTwo(){ User userA = new User(); userA.setName("JERRY"); userA.setAge(9); userRespository.save(userA); User userB = new User(); userB.setName("TOM"); userB.setAge(18); userRespository.save(userB); }}
UserRespository 主要用户数据库操作
package com.example.sbd.dao;import com.example.sbd.entity.User;import org.springframework.data.jpa.repository.JpaRepository;import java.util.List;public interface UserRespository extends JpaRepository<User,Integer> { //通过年龄查询 List<User> findByAge(Integer age);}
User entity类,用于生成表结构
package com.example.sbd.entity;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class User { @Id @GeneratedValue private Integer id; private String name; private Integer age; public User(){ } 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 Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
package com.example.sbd.vo;public class UserVO { private Integer id; private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; }}
恭喜你,编码结束!!!!!!!!!
如果实在不想COPY代码、或自己敲代码,源码下载地址http://download.csdn.net/download/andy2019/9927433
关于注解使用 参看http://www.cnblogs.com/qq78292959/p/3760702.html
阅读全文
0 0
- 从入门到入门-Spring Boot-CRUD+Transactional
- 从入门到入门-Spring Boot-入门
- 从入门到入门-Spring Boot-Controller
- spring boot从入门到精通
- Spring Boot从入门到精通课程
- 【Spring Boot】 从入门到熟练,从简介到集成
- 从入门到入门-Spring Boot-属性配置
- 从入门到入门-Spring Boot-属性配置2
- 从入门到入门-Spring Boot-属性配置3
- 从入门到入门-Spring Boot-常用属性
- 从入门到入门-Spring Boot-第一个Spring Boot应用
- Docker 从入门到放弃(二)之Spring Boot
- spring 从入门到总结
- Spring AOP从入门到放弃之概念以及Spring Boot AOP demo
- 【Spring Boot】Spring Boot 入门
- Spring学习从入门到提高
- Spring.NET & NHibernate从入门到精通
- spring从入门到上手-AOP
- 数位dp--HYSBZ1026 windy数
- javascript 利用for in循环获得对象的属性值
- Ubuntu终端常用的快捷键
- shell 实例之文件操作
- Caffe源码导读(7):LRN层的实现
- 从入门到入门-Spring Boot-CRUD+Transactional
- 每日一题(51)—— 大小端判断
- 笨办法学 Python · 续 练习 23:三叉搜索树
- sparkstreaming直连kafka Java实现 自己管理offset
- 最新 ARKit 演示:手指直接在空中作画
- Spring整合CXF webservice restful 实例
- POJ1577 树的遍历
- 翻转单词序列 vs 左旋转字符串
- 基础dp5