11.3总结

package com.dao;

import com.bean.Project;
import com.bean.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;

public class ProjectDAOImpl implements ProjectDAO {
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式化工具

@Override
public boolean insertProject(Connection conn, Project project) throws SQLException {
    // 1. 定义插入SQL语句(?为占位符,避免SQL注入)
    String sql = "INSERT INTO project_info (" +
            "project_id, project_name, project_location, project_property, " +
            "total_investment, current_investment, investment_2025, construction_content, " +
            "start_time, completion_time, report_date, audit_status, audit_opinion) " +
            "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

    // 2. 创建PreparedStatement对象(预编译SQL,提高执行效率和安全性)
    PreparedStatement pstmt = conn.prepareStatement(sql);

    // 3. 给SQL占位符赋值(按SQL语句中?的顺序,索引从1开始)
    pstmt.setString(1, project.getProjectId()); // 项目编号
    pstmt.setString(2, project.getProjectName()); // 项目名称
    pstmt.setString(3, project.getProjectLocation()); // 项目位置
    pstmt.setString(4, project.getProjectProperty()); // 项目属性
    pstmt.setInt(5, project.getTotalInvestment()); // 总投资
    pstmt.setInt(6, project.getCurrentInvestment()); // 截至目前投资
    pstmt.setInt(7, project.getInvestment2025()); // 2025年度投资
    pstmt.setString(8, project.getConstructionContent()); // 建设内容
    pstmt.setString(9, sdf.format(project.getStartTime())); // 开工时间(Date转String)
    pstmt.setString(10, sdf.format(project.getCompletionTime())); // 完工时间
    pstmt.setString(11, sdf.format(project.getReportDate())); // 上报日期
    pstmt.setInt(12, project.getAuditStatus()); // 审核状态(默认0=未审核)
    pstmt.setString(13, project.getAuditOpinion()); // 审核意见(可为null)

    // 4. 执行SQL插入操作,返回影响的行数(1=插入成功,0=插入失败)
    int rows = pstmt.executeUpdate();

    // 5. 关闭PreparedStatement资源(连接由Service层统一关闭)
    pstmt.close();

    // 6. 返回插入结果(行数>0则成功)
    return rows > 0;
}

}

posted @ 2025-11-03 16:51  Cx330。  阅读(10)  评论(0)    收藏  举报