项目目录结构如下。
首先我们在entity包中建立实体对象,字段为豆瓣电影的基本信息(有些信息是详情页面的信息)。
Movie实体类。
import javax.persistence.*;
@Entity
public class Movie {
private Integer id;
private double rate; //评分
private String title; //电影名称
private String director; //导演
private String protagonist; //主演
private String dateTime; //电影时长
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public double getRate() {
return rate;
}
public void setRate(double rate) {
this.rate = rate;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@Column(length=2000)
public String getProtagonist() {
return protagonist;
}
public void setProtagonist(String protagonist) {
this.protagonist = protagonist;
}
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
}
在src/main/resources下找到application.properties文件,在该配置文件中配置数据库链接信息,需要在数据库中新建一个名为douban的数据库。
spring.datasource.url=jdbc:mysql://localhost:3306/douban?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.use-new-id-generator-mappings=false
创建MovieRepository数据访问层接口
import com.mcy.crawlerdouban.entity.Movie;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MovieRepository extends JpaRepository<Movie, Integer> {
}
创建MovieService类,里边有一个保存数据的方法。
import com.mcy.crawlerdouban.entity.Movie;
import com.mcy.crawlerdouban.repository.MovieRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
publi
必看视频!获取2024年最新Java开发全套学习资料 备注Java
c class MovieService {
@Autowired
private MovieRepository movieRepository;
public void save(Movie movie) {
movieRepository.save(movie);
}
}
创建一个HttpUtils获取网页数据和保存图片的工具类。
创建连接池和配置连接池信息。
//创建连接池管理器
private static PoolingHttpClientConnectionManager cm;
public HttpUtils(){
cm = new PoolingHttpClientConnectionManager();
//设置最大连接数
cm.setMaxTotal(100);
//设置每个主机的最大连接数
cm.setDefaultMaxPerRoute(10);</