上两篇中已经搭好框架并连接了数据库,接下来以一个简单项目为例介绍(加红字的为必需项)
1.首先是model层
- 要加@Entity()与@Id注解
Model层----Music
@Entity(name="music")//对应了数据库的表名,必填
public class Music {
@Id//对应主键,必填
@GeneratedValue(strategy = GenerationType.IDENTITY)//自增,选填
private int id;
@Column(name="music_name")
private String music_name;
@Column(name="music_url")
private String music_url;
@Column(name="master")
private String master;
@Column(name="create_time")
private Date create_time;//引入Date时选择java.sql.Date,否则会引发许多问题
@Column(name="update_time")
private Date update_time;
//构造函数部分---这两部分可通过快捷键alt+ins来生成
public Music() {
}
public Music(String music_name, String music_url, String master, Date create_time, Date update_time) {
this.music_name = music_name;
this.music_url = music_url;
this.master = master;
this.create_time = create_time;
this.update_time = update_time;
}
//get,set部分
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMusic_name() {
return music_name;
}
public void setMusic_name(String music_name) {
this.music_name = music_name;
}
public String getMusic_url() {
return music_url;
}
public void setMusic_url(String music_url) {
this.music_url = music_url;
}
public String getMaster() {
return master;
}
public void setMaster(String master) {
this.master = master;
}
public Date getCreate_time() {
return create_time;
}
public void setCreate_time(Date create_time) {
this.create_time = create_time;
}
public Date getUpdate_time() {
return update_time;
}
public void setUpdate_time(Date update_time) {
this.update_time = update_time;
}
}
2.然后是jpa的接口的dao层
由于继承jpa,这里很少写代码,除了自己选择调用sql语句的时候,所以基本就这两行
- 按照模板来改 public interface /*类名*/ extends JpaRepository</*操作实例(就是model层定义的如Music)*/, Long> {}
dao层----MusicDao
public interface MusicDao extends JpaRepository<Music, Long> {
}
3.接着service层调用dao层
- 开头加入注释@Service
- 使用@Autowired引入dao层实例,
- 用实例调用方法(看起来里面什么都没写,但实际上jpa已经全封装好了,只管调用,如图)
service层----MusicService
@Service
public class MusicService {
@Autowired
MusicDao musicDao;
public List<Music> findAll(){
return musicDao.findAll();
}
}
4.最后是controller层调用service层
controller层----MusicController
- 首先加入控制层注解,有@Controller与@RestController两种,https://www.cnblogs.com/shuaifing/p/8119664.html
- 使用@Autowired引入service层实例
- @RequestMapping注解,通过该注解访问到后端
@RestController
public class MusicController {
@Autowired
MusicService musicService=new MusicService();
@RequestMapping("/musicFindAll")//路由,通过localhost:8080/musicFindAll来访问该后台
public List<Music> musicFindAll(){
return musicService.findAll();
}
}