广告功能,广告信息包括广告名称,广告位置,开始日期,结束日期,广告链接,广告图片,请设计一个springboot项目,关联广告表,广告位置表,广告图片表,并详细展示增删查改广告信息的java代码
时间: 2023-07-31 13:05:21 浏览: 111
首先,我们需要设计数据库表。假设我们有三个表:
1. 广告表(advertisements):包含广告的基本信息,如名称、开始日期、结束日期、广告链接等。
2. 广告位置表(ad_positions):包含广告位置的信息,如位置名称、位置描述等。
3. 广告图片表(ad_images):包含广告图片的信息,如图片名称、图片地址等。
下面是表的结构设计:
```sql
CREATE TABLE advertisements (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
position_id INT NOT NULL,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
link VARCHAR(200) NOT NULL,
image_id INT NOT NULL,
FOREIGN KEY (position_id) REFERENCES ad_positions(id),
FOREIGN KEY (image_id) REFERENCES ad_images(id)
);
CREATE TABLE ad_positions (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
description VARCHAR(200) NOT NULL
);
CREATE TABLE ad_images (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
url VARCHAR(200) NOT NULL
);
```
接下来,我们可以使用Spring Boot框架来实现增删查改广告信息的功能。
1. 增加广告信息
```java
@PostMapping("/advertisement")
public Advertisement addAdvertisement(@RequestBody Advertisement advertisement) {
return advertisementRepository.save(advertisement);
}
```
2. 删除广告信息
```java
@DeleteMapping("/advertisement/{id}")
public void deleteAdvertisement(@PathVariable Long id) {
advertisementRepository.deleteById(id);
}
```
3. 修改广告信息
```java
@PutMapping("/advertisement/{id}")
public Advertisement updateAdvertisement(@PathVariable Long id, @RequestBody Advertisement advertisement) {
advertisement.setId(id);
return advertisementRepository.save(advertisement);
}
```
4. 查询广告信息
```java
@GetMapping("/advertisement")
public List<Advertisement> getAllAdvertisement() {
return advertisementRepository.findAll();
}
@GetMapping("/advertisement/{id}")
public Advertisement getAdvertisementById(@PathVariable Long id) {
return advertisementRepository.findById(id).orElse(null);
}
```
其中,`Advertisement`类是实体类,对应广告表中的一条记录。`advertisementRepository`是广告信息的数据访问层,通过Spring Data JPA框架来实现对数据库的操作。以上代码中的注解`@PostMapping`、`@DeleteMapping`、`@PutMapping`、`@GetMapping`分别表示RESTful API的四种操作。
阅读全文