1数据库带两个参数,一个时区,一个utf-8
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&characterEncoding=UTF-8
username: xxx
password: xxxxxxxxx
2控制台显示sql语句
spring:
jpa:
hibernate:
ddl-auto: update #自动更新表结构
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect #不加这句则默认为myisam引擎
show-sql: true #显示sql语句
properties:
hibernate.format_sql: true #格式化sql语句
3排序,分页
Sort sort = new Sort(Sort.Direction.DESC,"id"); //正序列ASC
PageRequest pageRequest=PageRequest.of(1,5,sort);
Page<User> li=userService.findAll(pageRequest);
for (User user:li){
System.err.println(user);
}
4主键回调
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Long id;
PS:@GeneratedValue注解的strategy属性提供四种值:
-AUTO主键由程序控制, 是默认选项 ,不设置就是这个
-IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
-SEQUENCE 通过数据库的序列产生主键, MYSQL 不支持
-Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植
5测试时要添加
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional //不加会报no session
@Rollback(false) //默认自动回滚事务,取消
public class Demo3ApplicationTests {
6@Query
@Query(value = " select * from tt where id>=:s and id<=:t ",nativeQuery = true)
List<User> aaa(Long s,Long t);
@Query(value = " select * from tt where name like %:name% ",nativeQuery = true)
List<User> bbb(String name);
7jpa语言规则看https://blog.csdn.net/wujiaqi0921/article/details/78789087