如何统计某个数据连续三天未完成的就扣分,三天一扣分, 使用java mybatis
时间: 2024-02-25 22:52:10 浏览: 27
这里是一个使用Java和Mybatis实现统计某个数据连续三天未完成的代码示例,每连续三天未完成就扣一分:
1. 首先需要在数据库中存储每一天的完成情况,可以创建一个名为`completion`的表,包含`id`、`date`和`completed`三个字段,其中`id`为自增主键,`date`为日期,`completed`为当天是否完成的标志,可以用0表示未完成,1表示完成。
2. 在Mybatis中创建Mapper接口`CompletionMapper`,并编写查询连续三天未完成的方法`countMissedDays`,具体代码如下:
```java
public interface CompletionMapper {
@Select("SELECT COUNT(*) FROM completion c1, completion c2, completion c3"
+ " WHERE c1.date = DATE_SUB(c2.date, INTERVAL 1 DAY)"
+ " AND c2.date = DATE_SUB(c3.date, INTERVAL 1 DAY)"
+ " AND c1.completed = 0 AND c2.completed = 0 AND c3.completed = 0")
int countMissedDays();
}
```
该方法使用了Mybatis的注解`@Select`,用于查询连续三天未完成的天数,返回值为扣分的次数。
3. 在Java代码中使用Mybatis调用上述方法,具体代码如下:
```java
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sessionFactory.openSession();
try {
CompletionMapper mapper = session.getMapper(CompletionMapper.class);
int missedDays = mapper.countMissedDays();
int score = missedDays / 3; // 每三天扣一分
System.out.println("连续三天未完成的天数:" + missedDays);
System.out.println("扣分次数:" + score);
} finally {
session.close();
}
```
该代码首先创建了一个`SqlSessionFactory`对象,然后通过该对象创建一个`SqlSession`对象。接着获取Mapper接口`CompletionMapper`的实例,并调用`countMissedDays`方法查询连续三天未完成的天数,最后计算扣分的次数。
需要注意的是,以上代码仅供参考,具体实现可能需要根据项目实际情况进行修改。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)