pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
application.properties
#datasource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/user #jpa spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true
bean(get set省略)
@Entity @Table(name = "t_user") public class User { @Id @GeneratedValue private long id; @Column private String name; @Column private int age;
JPA
public interface UserRepository extends JpaRepository<User, Integer> { //注解方式查询 @Query("from User as user where user.name=:name") List<User> findUserByName(@Param("name") String name); //JPA提供的规范 List<User> findByName(String name); }
controller
@RestController public class UserController { @Autowired UserRepository userRepository; @GetMapping("add") public User addUser() { return userRepository.save(new User("phyl", 22)); } @GetMapping("edit/{id}") public User editUser(@PathVariable int id) { User user = userRepository.findOne(id); user.setName("sher"); return userRepository.save(user); } @GetMapping("find") public List<User> findAll() { return userRepository.findAll(); } @GetMapping("findByName/{name}") public List<User> findByName(@PathVariable String name) { return userRepository.findUserByName(name); } @GetMapping("getByName/{name}") public List<User> getByName(@PathVariable String name) { return userRepository.findByName(name); }