springboot 整合mybatis,pagehelper。测试类。
報名立減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 {@ResourceUserMapper userMapper;@Overridepublic List<User> find(int pageNum, int pageSize) throws Exception {//分頁查詢:查詢第一頁,每頁10行。 PageHelper.startPage(pageNum, pageSize);List<User> users =userMapper.findAll();return users;}//查詢 @Overridepublic List<User> findAll() throws Exception {return userMapper.findAll();}@Overridepublic User findById(long id) throws Exception {return userMapper.findById(id);}@Overridepublic List<User> findByPhone(String phone) throws Exception {return userMapper.findByPhone(phone);}//新增 @Overridepublic long save(User user) throws Exception {userMapper.save(user);return user.getId();}//刪除 @Overridepublic boolean delete(long id) throws Exception {return userMapper.delete(id);}//更新 @Overridepublic 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 {@Autowiredprivate 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=60000logging.level.com.chenxin.springboot_0702.Run=debug logging.path=logspagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=truepom.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。测试类。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360手机助手2016年度嗨APP全民榜
- 下一篇: docker-compose部署SS