使用springboot+mybatis建一个成绩表 字段有id,score成绩,subject科目(语文,数学),查出综合成绩(各科成绩相加后)最高的id
时间: 2024-04-29 15:25:37 浏览: 137
java开发基于springboot+vue+mybatis的学生成绩管理系统源码.zip
5星 · 资源好评率100%
1. 创建数据库表
首先需要在数据库中创建一张成绩表,包括id、score、subject三个字段。
```sql
CREATE TABLE `score` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`score` int(11) NOT NULL COMMENT '成绩',
`subject` varchar(50) NOT NULL COMMENT '科目',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='成绩表';
```
2. 创建实体类
创建一个Score实体类,包括id、score、subject三个属性,并为其添加getter和setter方法。
```java
public class Score {
private Integer id;
private Integer score;
private String subject;
// getter和setter方法
}
```
3. 创建Mapper接口
创建一个ScoreMapper接口,定义查询综合成绩最高的id方法。
```java
@Mapper
public interface ScoreMapper {
/**
* 查询综合成绩最高的id
* @return 最高分数的id
*/
Integer selectMaxScoreId();
}
```
4. 创建Mapper XML文件
在resources目录下创建一个mapper文件夹,并在mapper文件夹下创建ScoreMapper.xml文件,定义selectMaxScoreId方法的SQL语句。
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.demo.mapper.ScoreMapper">
<select id="selectMaxScoreId" resultType="java.lang.Integer">
SELECT id FROM score ORDER BY score DESC LIMIT 1
</select>
</mapper>
```
5. 配置数据源和Mybatis
在application.properties文件中添加数据源和Mybatis的配置。
```properties
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# Mybatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
```
6. 编写Controller
创建一个ScoreController类,在其中注入ScoreMapper,并调用selectMaxScoreId方法查询综合成绩最高的id。
```java
@RestController
public class ScoreController {
@Autowired
private ScoreMapper scoreMapper;
@GetMapping("maxScoreId")
public Integer getMaxScoreId() {
return scoreMapper.selectMaxScoreId();
}
}
```
7. 启动应用程序
最后,启动SpringBoot应用程序,在浏览器中访问http://localhost:8080/maxScoreId,即可查询到综合成绩最高的id。
阅读全文