您的位置:首页 > 编程语言 > Java开发

spring boot(二)spring data jpa以及事物配置

2017-05-05 17:56 701 查看
本章目的:使用spring data jpa连接mysql,实现增删改查和事物的配置。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息