新增 spring-boot-data-jpa 用例

This commit is contained in:
luoxiang
2019-01-03 23:06:30 +08:00
parent 86cfd2b61b
commit d872b4830c
5 changed files with 108 additions and 71 deletions

View File

@ -19,7 +19,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Entity // 表示该类是一个数据库表映射实体
@Table(name = "programmer") // 指明对应的数据库表的名称 不指定的默认就是类名
@Table(name = "programmer") // 指明对应的数据库表的名称 不指定的默认就是类名
public class Programmer {
/* AUTO: 默认值,主键由程序控制
@ -41,6 +41,7 @@ public class Programmer {
private Date birthday;
public Programmer(String name, int age, float salary, Date birthday) {
this.name = name;
this.age = age;

View File

@ -12,27 +12,27 @@ import java.util.List;
/**
* @author : heibaiying
* @description : 查询接口 继承自CrudRepository CrudRepository 默认实现了部分增删改查方法
* @description : 查询接口继承自CrudRepository,CrudRepository 默认定义了部分增删改查方法
*/
public interface ProgRepository extends CrudRepository<Programmer, Integer> {
/*
*方法名遵循命名规范的查询 更多命名规范可以参考官方文档所列出的这张表格
* 方法名遵循命名规范的查询 更多命名规范可以参考官方文档所列出的这张表格
* https://docs.spring.io/spring-data/jpa/docs/2.1.3.RELEASE/reference/html/#jpa.query-methods.query-creation
*/
List<Programmer> findAllByName(String name);
/*
*分页查询
*分页排序查询
*/
List<Programmer> findByAndSort(String name, Sort sort);
Page<Programmer> findAll(Pageable pageable);
/*
* 占位符查询
*/
@Query(value = "select u from Programmer u where u.name = ?1 or u.salary = ?2")
List<Programmer> findByCondition(String name, float salary);
List<Programmer> findByConditionAndOrder(String name, float salary, Sort.Order order);
/*
@ -40,5 +40,5 @@ public interface ProgRepository extends CrudRepository<Programmer, Integer> {
*/
@Query("select u from Programmer u where u.name = :name or u.age = :age")
Programmer findByParam(@Param("name") String name,
@Param("age") int age);
@Param("age") int age);
}

View File

@ -5,10 +5,8 @@ spring:
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
# <20><><EFBFBD><EFBFBD>ʵ<EFBFBD>һ<E5B2BB><D2BB>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>еı<D0B5><C4B1><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4>ڱ<EFBFBD><DAB1><EFBFBD>ԭ<EFBFBD>ȵ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
ddl-auto: update
# HibernateĬ<65>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>myisam<61><6D><EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ʽָ<CABD><D6B8>ΪĬ<CEAA><C4AC>ʹ<EFBFBD><CAB9>innodb<64><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
database-platform: org.hibernate.dialect.MySQL57Dialect
show-sql: true
hibernate:
ddl-auto: update
#Hibernate默认创建的表是myisam引擎可以用以下方式指定为使用innodb创建表
database-platform: org.hibernate.dialect.MySQL57Dialect
show-sql: true