Java实训项目:GUI学生信息管理系统 (第四天)

(2)状态数据访问接口实现类
例:状态数据访问接口实现类StatusDaoImpl等等
package net.ys.student.dao.impl;

import net.ys.student.bean.Status;
import net.ys.student.dao.StatusDao;
import net.ys.student.dbutil.ConnectionManager;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**

  • 功能:状态数据访问接口实现类

  • 作者:严胜

  • 日期:2019年6月19日
    */
    public class StatusDaoImpl implements StatusDao {

    @Override
    public Status findById(int id) {
    // 声明状态对象
    Status status = null;

     // 1. 获取数据库连接对象
     Connection conn = ConnectionManager.getConnection();
     // 2. 定义SQL字符串
     String strSQL = "SELECT * FROM t_status WHERE id = ?";
     try {
         // 3. 创建预备语句对象
         PreparedStatement pstmt = conn.prepareStatement(strSQL);
         // 4. 设置占位符的值
         pstmt.setInt(1, id);
         // 5. 执行SQL查询,返回结果集
         ResultSet rs = pstmt.executeQuery();
         // 6. 判断结果集是否有记录
         if (rs.next()) {
             // 实例化状态
             status = new Status();
             // 利用当前记录字段值去设置状态对象的属性
             status.setId(rs.getInt("id"));
             status.setCollege(rs.getString("college"));
             status.setVersion(rs.getString("version"));
             status.setAuthor(rs.getString("author"));
             status.setTelephone(rs.getString("telephone"));
             status.setAddress(rs.getString("address"));
             status.setEmail(rs.getString("email"));
         }
         // 7. 关闭预备语句对象
         pstmt.close();
         // 8. 关闭结果集对象
         rs.close();
     } catch (SQLException e) {
         e.printStackTrace();
     } finally {
         // 关闭数据库连接
         ConnectionManager.closeConnection(conn);
     }
    
     // 返回状态对象
     return status;
    

    }

    @Override
    public int update(Status status) {
    // 定义更新记录数
    int count = 0;

     // 1. 获得数据库连接
     Connection conn = ConnectionManager.getConnection();
     // 2. 定义SQL字符串
     String strSQL = "UPDATE t_status SET college = ?, version = ?, author = ?,"
             + " telephone = ?, address = ?, email = ? WHERE id = ?";
     try {
         // 3. 创建预备语句对象
         PreparedStatement pstmt = conn.prepareStatement(strSQL);
         // 4. 设置占位符的值
         pstmt.setString(1, status.getCollege());
         pstmt.setString(2, status.getVersion());
         pstmt.setString(3, status.getAuthor());
         pstmt.setString(4, status.getTelephone());
         pstmt.setString(5, status.getAddress());
         pstmt.setString(6, status.getEmail());
         pstmt.setInt(7, status.getId());
         // 5. 执行更新操作,更新记录
         count = pstmt.executeUpdate();
         // 6. 关闭预备语句对象
         pstmt.close();
     } catch (SQLException e) {
         e.printStackTrace();
     } finally {
         // 关闭数据库连接            
         ConnectionManager.closeConnection(conn);
     }
    
     // 返回更新记录数
     return count;
    

    }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值