|
|
package dao.impl;
|
|
|
|
|
|
// 引入相关类和接口
|
|
|
import dao.PhotoDao; // 数据访问对象(DAO)接口
|
|
|
import domain.Photo; // 表示 Photo 表数据结构的实体类
|
|
|
import org.springframework.dao.DataAccessException; // 数据访问异常类
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
|
|
|
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
|
|
|
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
|
|
|
|
|
|
/**
|
|
|
* PhotoDaoImpl 实现了 PhotoDao 接口,负责与数据库交互以操作 Photo 数据表。
|
|
|
*/
|
|
|
public class PhotoDaoImpl implements PhotoDao {
|
|
|
|
|
|
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
|
|
|
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
|
|
|
|
|
|
/**
|
|
|
* 添加一条照片记录
|
|
|
* @param photo 包含照片信息的 Photo 对象
|
|
|
*/
|
|
|
@Override
|
|
|
public void addPhoto(Photo photo) {
|
|
|
try {
|
|
|
// SQL 语句:向 photo 表插入照片记录
|
|
|
String sql = "insert into photo(photo_id, photo_name) values(?, ?)";
|
|
|
// 使用 JdbcTemplate 执行插入操作
|
|
|
template.update(sql, photo.getPhotoId(), photo.getPhotoName());
|
|
|
} catch (DataAccessException e) {
|
|
|
e.printStackTrace(); // 打印异常堆栈信息
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据照片 ID 查找照片
|
|
|
* @param id 照片 ID
|
|
|
* @return 查找到的 Photo 对象;未找到时返回 null
|
|
|
*/
|
|
|
@Override
|
|
|
public Photo findPhotoByPhotoId(String id) {
|
|
|
try {
|
|
|
// SQL 语句:根据照片 ID 查找对应的照片记录
|
|
|
String sql = "select * from photo where photo_id = ?";
|
|
|
// 使用 JdbcTemplate 执行查询,并将结果映射为 Photo 对象
|
|
|
Photo photo = template.queryForObject(sql, new BeanPropertyRowMapper<Photo>(Photo.class), id);
|
|
|
return photo; // 返回查询结果
|
|
|
} catch (DataAccessException e) {
|
|
|
e.printStackTrace(); // 打印异常堆栈信息
|
|
|
return null; // 查询失败时返回 null
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新照片信息
|
|
|
* @param photo 包含更新信息的 Photo 对象
|
|
|
*/
|
|
|
@Override
|
|
|
public void updatePhoto(Photo photo) {
|
|
|
try {
|
|
|
// SQL 语句:更新 photo 表中的照片名称
|
|
|
String sql = "update photo set photo_name = ? where photo_id = ?";
|
|
|
// 使用 JdbcTemplate 执行更新操作
|
|
|
template.update(sql, photo.getPhotoName(), photo.getPhotoId());
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace(); // 打印异常堆栈信息
|
|
|
}
|
|
|
}
|
|
|
}
|