spring boot(二)spring data jpa以及事物配置
2017-05-05 17:56
701 查看
本章目的:使用spring data jpa连接mysql,实现增删改查和事物的配置。
pom.xml引入jar
application.properties配置数据源
创建实体类User
创建UserRepository
创建UserService
创建API
启动主程序,访问http://localhost:20001/list获取user列表
事物
springboot中的事物非常简单,只需要两步
主程序中加入注解@EnableTransactionManagement
service方法中加入注解@Transactional
pom.xml引入jar
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
application.properties配置数据源
server.port=20001 spring.datasource.url=jdbc:mysql://localhost:3307/crawler spring.datasource.username=root spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.properties.hibernate.hbm2ddl.auto=update
创建实体类User
@Entity public class User { private Long id; private String name; private Integer age; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(nullable = false) public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(nullable = false) public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
创建UserRepository
public interface UserRepository extends JpaRepository<User, Long> { User findByName(String name); User findByAgeGreaterThan(Integer age); List<User> findByNameLike(String name); }
创建UserService
@Service public class UserService { @Autowired private UserRepository userRepository; public User findUser(String name) { return userRepository.findByName(name); } public List<User> findList() { return userRepository.findAll(); } public Long save(User user) { return userRepository.save(user).getId(); } public void saveListUser(List<User> list) { for (User user : list) save(user); } }
创建API
@RestController @RequestMapping("/user") public class UserWeb { @Autowired private UserService userService; @RequestMapping("/find") public String findUser(String name) throws Exception { return userService.findUser(name).getName(); } @RequestMapping("list") public String list() throws JSONException { JSONObject out = new JSONObject(); out.put("list", userService.findList()); return out.toString(); } @RequestMapping("/save") public String save(String name, Integer age) { User user = new User(); user.setName(name); user.setAge(age); Long id = userService.save(user); return id.toString(); } @RequestMapping("/saveList") public String saveList(String name, Integer age) { List<User> list = new ArrayList<User>(); for (int i = 6; i < 11; i++) { User user = new User(); user.setName(name + "_0000" + i); user.setAge(age); list.add(user); } userService.saveListUser(list); return "OK"; } }
启动主程序,访问http://localhost:20001/list获取user列表
事物
springboot中的事物非常简单,只需要两步
主程序中加入注解@EnableTransactionManagement
service方法中加入注解@Transactional
相关文章推荐
- spring boot 配置及使用 spring data jpa
- Spring Boot + Spring Data JPA项目配置多数据源
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
- (十三)SpringBoot之Spring-Data-Jpa(二)CRUD实现以及添加自定义方法
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
- (十三)SpringBoot之Spring-Data-Jpa(二)CRUD实现以及添加自定义方法
- Spring boot data JPA 自定义JPQL语句,以及PagingAndSortingRepository接口实现分页查询
- Spring boot + MySQl + druid + JPA + AOP pom文件 以及 application.yml 的配置
- SpringBoot连接SQLite数据库(基于Spring-Data-Jpa和Gradle配置)
- Spring Boot 下配置SpringDataJpa
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
- SpringMVC+JPA+SpringData配置
- Spring Data Jpa 详解 (配置篇)
- spring-data-jpa + spring-data-mongodb 配置及jar冲突异常解
- SPRING DATA JPA 中几种缓存的配置
- springmvc + spring data jpa + hibernate 配置(2)
- 4. Spring Boot 1.2.5,Spring Data JPA多数据源支持
- spring-data-jpa+hibernate 各种缓存的配置演示
- Spring-data-jpa+Hibernate 各种缓存的配置
- Spring Data Jpa 详解 (配置篇)