springboot 整合mybatis,pagehelper。测试类。
2020-01-31 22:40
645 查看
报名立减200元。暑假直降6888。
遇到的异常。
1.这是在使用mybatis成功连接数据库后,通过service层调用dao层出现的异常。
异常原因:在启动类上面的注解@MapperScan没有指定到dao层的包名上。
错误写法:
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //开启通用注解扫描 @MapperScan(basePackages = {"com.chenxin.springboot_0702"}) //因为这里没有指定到dao层的包名上,所以报错 invalid bound statement (not found). @EnableAutoConfiguration public class Run { public static void main(String[] args) { SpringApplication.run(Run.class, args); } }
正确写法:
@SpringBootApplication //开启通用注解扫描 @MapperScan(basePackages = {"com.chenxin.springboot_0702.dao"}) //指定到dao层的包名。 @EnableAutoConfiguration public class Run { public static void main(String[] args) { SpringApplication.run(Run.class, args); } }
2、定义了相同的Controller类名。是之前学习时,添加的类。
3、单元测试是更新到相同记录。
4、使用pagehelper时,浏览器测试路径没有传参。
正确写法:http://localhost:8080/getAll?pageNum=1&pageSize=5。参数名要和方法参数名相同。
*****************************************异常就这些了。***************************************************
正题代码:
接口中分页查询的方法:
import com.chenxin.springboot_0702.model.User; import java.util.List; public interface UserService { //分页查询方法 public List<User> find(int pageNum, int pageSize) throws Exception; //查询 public List<User> findAll() throws Exception; public User findById(long id) throws Exception; public List<User> findByPhone(String phone) throws Exception; //新增 public long save(User user) throws Exception; //删除 public boolean delete(long id) throws Exception; //更新 public boolean update(User user) throws Exception; }
实现类的方法:
import com.chenxin.springboot_0702.dao.UserMapper; import com.chenxin.springboot_0702.model.User; import com.chenxin.springboot_0702.service.UserService; import org.springframework.stereotype.Service; import com.github.pagehelper.PageHelper; import javax.annotation.Resource; import java.util.List; @Service public class UserServiceImpl implements UserService { @Resource UserMapper userMapper;
@Override public List<User> find(int pageNum, int pageSize) throws Exception { //分页查询:查询第一页,每页10行。 PageHelper.startPage(pageNum, pageSize); List<User> users =userMapper.findAll(); return users; } //查询 @Override public List<User> findAll() throws Exception { return userMapper.findAll(); } @Override public User findById(long id) throws Exception { return userMapper.findById(id); } @Override public List<User> findByPhone(String phone) throws Exception { return userMapper.findByPhone(phone); } //新增 @Override public long save(User user) throws Exception { userMapper.save(user); return user.getId(); } //删除 @Override public boolean delete(long id) throws Exception { return userMapper.delete(id); } //更新 @Override public boolean update(User user) throws Exception { return userMapper.update(user); } }
controller调用:
import com.chenxin.springboot_0702.model.User; import com.chenxin.springboot_0702.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class HelloController2 { @Autowired private UserService userService; @RequestMapping("/getAll") public List<User> getAll(int pageNum, int pageSize) throws Exception{ return userService.find(pageNum,pageSize); } }
启动类:
package com.chenxin.springboot_0702; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //开启通用注解扫描 @MapperScan(basePackages = {"com.chenxin.springboot_0702.dao"}) @EnableAutoConfiguration public class Run { public static void main(String[] args) { SpringApplication.run(Run.class, args); } }
配置文件application.properties:
#数据库访问配置 #主数据源 #配置mysql的连接配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://localhost:3306/testx?useSSL=false spring.datasource.username=root spring.datasource.password=123 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #连接池设置 #初始化大小,最大,最小值 spring.datasource.initialize=true spring.datasource.tomcat.min-idle=5 spring.datasource.tomcat.max-active=20 spring.datasource.tomcat.max-wait=60000 logging.level.com.chenxin.springboot_0702.Run=debug logging.path=logs pagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=true
pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.chenxin</groupId> <artifactId>springboot_0702</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot_0702</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--junit不需要springboot已经自动加载了。--> <!--spring-boot-starter-jdbc已经包含在了mybatis-spring-boot-starter中了。--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.5</version> </dependency> <!--引入mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <!--mybatis分页插件--> <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
好了结束了。最后运行启动类。
浏览器:http://localhost:8080/getAll?pageNum=1&pageSize=5
运行结果:
报名立减200元。暑假直降6888。
邀请链接:http://www.jnshu.com/login/1/20535344
邀请码:20535344
转载于:https://www.cnblogs.com/JasonChen92/p/9266206.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- springboot整合mybatis之分页插件pagehelper
- 采用shardbatis在springBoot中实现表的水平拆分,整合swagger,mybatis,shardbatis,pagehelper
- SpringBoot_thymeleaf_mybatis和PageHelper分页插件整合
- springboot整合mybatis和pageHelper分页插件
- springboot整合mybatis和pageHelper异常问题记录
- spring boot 整合mybatis 分页插件pagehelper
- springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件
- Spring Boot整合Mybatis-Plus和PageHelper分页插件,附项目源码
- springboot +mybatis+pageHelper 整合
- Mybatis分页插件 - PageHelper与springBoot的整合
- SpringBoot整合MyBatis+(PageHelper)分页插件
- springboot+Mybatis整合pageHelper分页插件
- 采用shardbatis在springBoot中实现表的水平拆分,整合swagger,mybatis,shardbatis,pagehelper
- SpringBoot + Mybatis + Mapper + PageHelper + Spring Batch 整合
- 快速搭建springBoot+mybatis+pagehelper+druid+lombok+多环境配置
- SpringBoot Mybatis解决使用PageHelper一对多分页问题
- SpringBoot整合PageHelper分页插件
- Spring Boot系列教程十一: Mybatis使用分页插件PageHelper
- springboot整合pagehelper分页插件
- SpringBoot集成Mybatis并具有分页功能PageHelper