springboot集成mybatis


 

一.springboot繼承mybatis的相關說明:

springboot是一款基於spring的框架,springboot能較快的搭建web工程和tomcat服務器,提高搭建環境和開發環境的效率,所以使用的越來越多,springboot也能和mybatis集成

mybatis是一款持久層框架,基於spring-jdbc,所有的持久層框架都是基於數據庫的jdbc,所以導入mybatis的包后就不需要再導入jdbc的相關包,在這里我們的配置文件使用的是yml文件也可以使用以properties后綴結尾的配置文件,通過springboot集成mybatis,不需要配置額外的sqlSessionFactoryBean,mybatis基於springboot的底層已經幫我們實現了sqlSessionFactoryBean的創建,springboot中有一個自動導入配置文件的標簽,這個標簽以選擇器的方式導入寫入 spring.factoties中的配置類:

@EnableAutoConfiguration 開啟自動配置功能,通過一個AutoConfigurationImportSelector導入選擇器去掃描 spring-boot-autoconfigure-2.0.5.RELEASE.jar 自動配置包下面的 spring.factories 文件中的很多很多的自動配置的類
如:ThymeleafAutoConfiguration 是的Thymeleaf的自動配置 ,在這個自動配置類里面通過一個ThymeleafProperties去讀取配置文件中的配置(也有默認配置) ,來自動配置Thymeleaf,還有很多很多..............

1.導包--導入mybatis包,連接池包,mysql驅動包

<!--導入mybatis-->
      <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>1.1.1</version>
      </dependency>

<!--導入連接池-->
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.1.20</version>
      </dependency>

<!-- mysql 數據庫驅動. -->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
      </dependency>

2. 在yml中配置mybatis,配置dataSource

mybatis:
#配置映射的mapper.xml文件
  mapper-locations: classpath:cn/itsource/springboot/mapper/*Mapper.xml
#配置別名
  type-aliases-package: cn.itsource.domain

spring:
datasource:
username: root
password: 123456
url: jdbc:mysql:///cms
driver-class-name: com.mysql.jdbc.Driver
#連接池的類型
type: com.alibaba.druid.pool.DruidDataSource

3.在配置類上掃描mapper接口

@MapperScan(basePackages = "cn.itsource.mapper")

4.完成測試

步驟:

1.在domain包中寫一個基本業務類user

2.在mapper層寫一個接口UserMapper,里面寫一個方法,查詢數據庫中對應user表中的所有內容

3.寫一個UserMapper.xml,里面放數據庫的查詢語句 sql語句

4.寫service層,接口方法跟mapper層接口方法一樣,再寫該接口的實現類(注入UserMapper接口,調用mapper中的方法)

5.寫controller層

@Controller
@RequestMapping
public class UserController {
    @Autowired
    private IUserService userService;
    @RequestMapping("/user")
    @ResponseBody
//查詢表中所有數據
public List<User> queryAll(){ return userService.queryAll(); }
//分頁查詢 @RequestMapping(
"/page") @ResponseBody public Page<User> queryPage(Object query){ return userService.queryPage(query); } }

5.瀏覽器訪問資源

 

 

6.在springboot中使用pagehelper實現分頁

步驟

1.導入pagehelper的jar包

<!--導入分頁包-->
      <dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper-spring-boot-starter</artifactId>
          <version>1.2.3</version>
      </dependency>

2.在yml配置文件中配置pagehelper屬性

pagehelper:
    helperDialect: mysql
    reasonable: true
    supportMethodsArguments: true
    params: count=countSql

3.實現類返回page<T>對象,該對象幫我們實現list集合數據中的分頁,使用pagehelper這個類設置當前頁和每頁查詢數據的條數

說明:mapper層和controller層的代碼就不再重復了。

@Override
    public Page<Employee> queryPage(Object query) {
        //設置當前頁和每頁條數
        PageHelper.startPage(1, 10);
        //底層幫我們實現吧list集合中的數據封裝為page對象,然后分頁
        Page<Employee> employees = employeeMapper.queryPage(query);
        return employees;
    }

4.瀏覽器訪問資源測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM