1、创建数据库表和插入数据
2、创建对应的实体类
3、创建Mapper接口和对应的XML文件
4、创建Service接口和实现类
5、创建Controller类
6、测试分页查询接口
下面是详细的技术介绍:
1、创建数据库表和插入数据
我们需要创建一个数据库表,例如user
表,包含id
、name
和age
三个字段,然后向表中插入一些数据。
CREATE TABLEuser
(id
int(11) NOT NULL AUTO_INCREMENT,name
varchar(255) NOT NULL,age
int(11) NOT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTOuser
(name
,age
) VALUES ('张三', 20), ('李四', 25), ('王五', 30), ('赵六', 35), ('孙七', 40);
2、创建对应的实体类
接下来,我们需要创建一个实体类User
,用于映射数据库表的字段。
public class User { private Integer id; private String name; private Integer age; // getter和setter方法省略 }
3、创建Mapper接口和对应的XML文件
创建一个Mapper接口,例如UserMapper
,并定义一个分页查询的方法,然后在对应的XML文件中编写SQL语句。
public interface UserMapper { List<User> findByPage(@Param("start") int start, @Param("pageSize") int pageSize); }
在对应的XML文件中编写SQL语句:
<select id="findByPage" resultType="User"> SELECT * FROM user LIMIT {start}, {pageSize} </select>
4、创建Service接口和实现类
创建一个Service接口,例如UserService
,并定义一个分页查询的方法,然后在对应的实现类中调用Mapper接口的方法。
public interface UserService { List<User> findByPage(int pageNum, int pageSize); }
在对应的实现类中调用Mapper接口的方法:
@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> findByPage(int pageNum, int pageSize) { int start = (pageNum 1) * pageSize; return userMapper.findByPage(start, pageSize); } }
5、创建Controller类
创建一个Controller类,例如UserController
,并定义一个分页查询的请求处理方法,在该方法中调用Service接口的方法,并将结果返回给前端。
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/list") public ResponseEntity<?> findByPage(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize) { List<User> users = userService.findByPage(pageNum, pageSize); return ResponseEntity.ok(users); } }
6、测试分页查询接口
启动项目后,访问http://localhost:8080/user/list?pageNum=1&pageSize=2
,可以看到分页查询的结果,可以修改参数进行其他测试。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/326776.html