项目中使用mybatis mapper.xml进行写sql开发。显得不那么自动化。
我感觉如果可以使用jpa就会挺舒服的。
一、pom及yml配置
<dependency
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.hbm2ddl.auto=create-drop
二、实体类
@Entity
@Data
@NoArgsConstructor
public class User {
@Id
@GeneratedValue
private Long id;
private String name;
private Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
}
-
@Entity
注解标识了User类是一个持久化的实体 -
@Data
和@NoArgsConstructor
是Lombok中的注解。用来自动生成各参数的Set、Get函数以及不带参数的构造函数。 -
@Id
和@GeneratedValue
用来标识User对应对应数据库表中的主键
三、repository
public interface UserRepository extends JpaRepository<User, Long> {
User findByName(String name);
User findByNameAndAge(String name, Integer age);
@Query("from User u where u.name=:name")
User findUser(@Param("name") String name);
}