hibernate是jpa的实现者,而spring data jpa在hibernate的基础上,再封装已层,数据访问更加方便和快速
若想使用spring data jpa,直接在依赖中加入以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
数据源的配置,参考http://blog.csdn.net/yingxiake/article/details/51297555,配置好数据源之后,spring data jpa就已经可以正常使用了。
首先,我们建立实体类映射
@Entity
@Table(name = "tb_task")
public class Task {
private Long id ;
private String taskName ;
private Date createTime ;
private String taskDetail ;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name = "task_name")
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
@Column(name = "create_time")
@DateTimeFormat(pattern = "yyyy-MM-dd")
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Column(name = "task_detail")
public String getTaskDetail() {
return taskDetail;
}
public void setTaskDetail(String taskDetail) {
this.taskDetail = taskDetail;
}
}
然后定义一个TaskDao继承于JpaRepository
public interface TaskDao extends JpaRepository<Task, Long> {
}
JpaRepository提供基础的CRUD功能,除了JpaRepository还有其他的Repository可以继承,可以参考下http://blog.csdn.net/yingxiake/article/details/51000379
再者,我们定义service还有controller就可以直接完成数据访问了,首先是service层
@Service
public class TaskService {
@Autowired TaskDao taskDao ;
@Transactional
public void saveTask(){
Task task = new Task();
task.setTaskName("myname");
task.setTaskDetail("mydetail");
task.setCreateTime(new Date());
taskDao.save(task);
}
}
然后controller进行访问
@RestController
@RequestMapping("/task")
public class TaskController{
@Autowired TaskService taskService ;
@RequestMapping(value = "/mvc6")
public String mvc6() {
taskService.saveTask();
return HttpStatus.OK.toString();
}
}
这就是spring boot 的数据访问