作为一款几乎完美的数据层封装框架,Spring Data同样(也一定)是会被使用到Spring Boot 中的。
Spring Boot的JPA默认是用Hibernate来实现。
去掉pom.xml
中的spring-boot-starter-jdbc
的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
#jpa
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
#hibernate
spring.jpa.hibernate.ddl-auto=update
@Entity
@Table(name="user")
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
@JsonFormat(pattern="yyyy年MM月dd日")
@Column(name = "birthday")
private Date birthDay;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Column(name="createtime")
private Date registerDate;
get/set ...
}
@Repository
public interface UserRepository extends JpaRepository<User, Long>{
}
@Autowired
private UserRepository userRepository;
@Override
public List<User> queryAll() {
// List<User> list = userDao.queryAll();
List<User> list = userRepository.findAll();
return list;
}
@Override
@Transactional
public long save(User user) {
// 参数校验
Assert.notNull(user,"用户不能为空");
Assert.isTrue(user.getId() == 0, "用户id非法,必须为0");
Assert.hasLength(user.getName(), "用户名称不能为空");
Assert.notNull(user.getBirthDay(),"用户生日不能为空");
Assert.notNull(user.getRegisterDate(),"用户注册时间不能为空");
// 新增
//long pk = userDao.save(user);
// 打印主键
// 造成异常
//double result = 1 / 0;
User afterUser = userRepository.save(user);
long pk = afterUser.getId();
System.out.println(pk);
return pk;
}
Spring Data就是这么简单。当然,你也可以根据自己的需要来定制。
内容来源于网络,如有侵权,请联系作者删除!