首页 > 数据库 >向数据库插入打卡数据

向数据库插入打卡数据

时间:2024-03-31 21:56:45浏览次数:20  
标签:ps getString record 数据库 resultSet 插入 connection close 打卡

import android.util.Log;
import com.example.demo3.entity.Record;
import com.example.demo3.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class RecordDao {
    private static final String TAG = "mysql-db_timing-RecordDao";

    // 方法:插入每日打卡数据
    public static boolean insertRecord(Record record) {
        Connection connection = JDBCUtils.getConn();
        if (connection != null) {
            try {
                String sql = "INSERT INTO record (studentId, weekNum, startTime, endTime, recording) VALUES (?, ?, ?, ?, ?)";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setString(1, record.getStudentId());
                ps.setInt(2, record.getWeekNum());
                ps.setString(3, record.getStartTime());
                ps.setString(4, record.getEndTime());
                ps.setString(5, record.getRecording());
                int rowsAffected = ps.executeUpdate();
                ps.close();
                connection.close();
                return rowsAffected > 0;
            } catch (SQLException e) {
                Log.e(TAG, "每日打卡失败" + e.getMessage());
                e.printStackTrace();
            }
        }
        return false;
    }

    // 方法:根据学生ID和周数查找打卡记录
    public static Record findRecord(String studentId, int weekNum) {
        Connection connection = JDBCUtils.getConn();
        if (connection != null) {
            try {
                String sql = "SELECT * FROM record WHERE studentId = ? AND weekNum = ?";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setString(1, studentId);
                ps.setInt(2, weekNum);
                ResultSet resultSet = ps.executeQuery();
                if (resultSet.next()) {
                    Record record = new Record();
                    record.setStudentId(resultSet.getString("studentId"));
                    record.setWeekNum(resultSet.getInt("weekNum"));
                    record.setStartTime(resultSet.getString("startTime"));
                    record.setEndTime(resultSet.getString("endTime"));
                    record.setRecording(resultSet.getString("recording"));
                    resultSet.close();
                    ps.close();
                    connection.close();
                    return record;
                }
            } catch (SQLException e) {
                Log.e(TAG, "Error finding record: " + e.getMessage());
                e.printStackTrace();
            }
        }
        return null;
    }

    // 方法:查询所有打卡记录
    public List<Record> findAllRecords() {
        Connection connection = JDBCUtils.getConn();
        List<Record> records = new ArrayList<>();
        if (connection != null) {
            try {
                String sql = "SELECT * FROM record";
                PreparedStatement ps = connection.prepareStatement(sql);
                ResultSet resultSet = ps.executeQuery();
                while (resultSet.next()) {
                    Record record = new Record();
                    record.setStudentId(resultSet.getString("studentId"));
                    record.setWeekNum(resultSet.getInt("weekNum"));
                    record.setStartTime(resultSet.getString("startTime"));
                    record.setEndTime(resultSet.getString("endTime"));
                    record.setRecording(resultSet.getString("recording"));
                    records.add(record);
                }
                resultSet.close();
                ps.close();
                connection.close();
            } catch (SQLException e) {
                Log.e(TAG, "Error finding all records: " + e.getMessage());
                e.printStackTrace();
            }
        }
        return records;
    }

    // 方法:根据学生ID查询打卡记录
    public List<Record> findRecordsByStudentId(String studentId) {
        Connection connection = JDBCUtils.getConn();
        List<Record> records = new ArrayList<>();
        if (connection != null) {
            try {
                String sql = "SELECT * FROM record WHERE studentId = ?";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setString(1, studentId);
                ResultSet resultSet = ps.executeQuery();
                while (resultSet.next()) {
                    Record record = new Record();
                    record.setStudentId(resultSet.getString("studentId"));
                    record.setWeekNum(resultSet.getInt("weekNum"));
                    record.setStartTime(resultSet.getString("startTime"));
                    record.setEndTime(resultSet.getString("endTime"));
                    record.setRecording(resultSet.getString("recording"));
                    records.add(record);
                }
                resultSet.close();
                ps.close();
                connection.close();
            } catch (SQLException e) {
                Log.e(TAG, "Error finding records by student ID: " + e.getMessage());
                e.printStackTrace();
            }
        }
        return records;
    }

    // 方法:根据周数查询打卡记录
    public List<Record> findRecordsByWeekNum(int weekNum) {
        Connection connection = JDBCUtils.getConn();
        List<Record> records = new ArrayList<>();
        if (connection != null) {
            try {
                String sql = "SELECT * FROM record WHERE weekNum = ?";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setInt(1, weekNum);
                ResultSet resultSet = ps.executeQuery();
                while (resultSet.next()) {
                    Record record = new Record();
                    record.setStudentId(resultSet.getString("studentId"));
                    record.setWeekNum(resultSet.getInt("weekNum"));
                    record.setStartTime(resultSet.getString("startTime"));
                    record.setEndTime(resultSet.getString("endTime"));
                    record.setRecording(resultSet.getString("recording"));
                    records.add(record);
                }
                resultSet.close();
                ps.close();
                connection.close();
            } catch (SQLException e) {
                Log.e(TAG, "Error finding records by week number: " + e.getMessage());
                e.printStackTrace();
            }
        }
        return records;
    }

}

 

标签:ps,getString,record,数据库,resultSet,插入,connection,close,打卡
From: https://www.cnblogs.com/aixin52129211/p/18107333

相关文章

  • 向数据库插入计划数据
    publicclassPlanningDao{privatestaticfinalStringTAG="mysql-db_timing-PlanningDao";publicPlanningDao(){//在构造函数中初始化必要的操作,如果有的话}//方法:插入目标数据publicstaticbooleaninsertGoal(Planningplannin......
  • 数据库之迁移常规操作(Mongodb篇)
    一、部署mongodb数据库。注:采用docker容器进行安装部署详情参考此文》》https://blog.csdn.net/u014642921/article/details/136022683二、在admin用户创建testdb文档插入两条数据admin>db.testdb.insertMany([{name:"1",age:1,addr:"earth"},{name:"2",age:2,addr:"......
  • Excel数据库模板导出
    有时候我们不仅需要将excel文件中的数据导入到数据库,同时我们还需要将数据库中的数据或者表字段导出,接下来我们就具体看看如何进行数据库模板导出~我记得需要导入easypoi的相关注解(如果没记错的话):<dependency><groupId>cn.afterturn</groupId><a......
  • 03-数据库的用户管理
    一、创建新用户mysql>createuserxjzw@'10.0.0.%'identifiedby'1';QueryOK,0rowsaffected(0.01sec)二、查看当前数据库正在登录的用户mysql>selectuser();+----------------+|user()    |+----------------+|root@localhost|+-----------......
  • SpringBoot整合Canal进行数据库 缓存同步
    Canal是阿里巴巴开源的一款基于MySQL数据库的增量日志订阅和解析工具,主要用于实现数据的实时同步和流处理。通过使用Canal,应用程序可以实现对数据库变更的监听,并将变更的数据实时同步到其他系统,比如消息队列、缓存系统等。 先记一下缓存雪崩的问题,缓存雪崩是指在我们的......
  • 【每周例题】力扣 C++ 搜索插入位置
    搜索插入位置题目搜索插入位置 题目分析1.第一个想法肯定是暴力遍历,找到了就输出下标,找不到就对比前后两个数字,寻找合适的位置插入。2.需要注意一点,我们需要再一开始就对比target与数组最后一个数的大小,如果比数组最后一个数大,直接返回数组长度3.第二个想法就是缩短寻找的......
  • 权限提升-Linux系统权限提升篇&Vulnhub&Capability能力&LD_Preload加载&数据库等
    知识点1、Web或用户到Linux-数据库类型2、Web或用户到Linux-Capability能力3、普通用户到Linux-LD_Preload加载so配合sudo章节点:1、Web权限提升及转移2、系统权限提升及转移3、宿主权限提升及转移4、域控权限提升及转移基础点0、为什么我们要学习权限提升转移技......
  • 会员制医疗预约服务管理信息系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目持续更新中.....2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssm+vue等技术项目合集)1.系统功能模块2.管理员功能模块......
  • 财务管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目持续更新中.....2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssm+vue等技术项目合集)目录1.管理员功能效果图1.1.员工功能模块2.系统功能设计3.数据库E......
  • MySQL数据库报错:The server quit without updating PID file (/var/lib/mysql/your-h
    在MySQL安装或初次配置过程中,遭遇报错是很常见的一件事,它可能会使你的安装进程暂时停滞。本文将深入探讨一个具体的安装错误,涵盖错误信息、可能的原因,以及详细的解决方案,旨在帮助你高效地解决这一挑战。错误描述安装MySQL过程中,你可能会碰到以下错误信息:Theserverquit......