Springboot項目搭建(四)整合MySQL數據庫(MyBatis + 分頁配置)

springboot整合MySQL數據庫(MyBatis + 分頁配置)

1、POM文件添加依賴java

<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.1</version>
</dependency>

<!--mybatis分頁插件-->
<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>4.1.0</version>
</dependency>

<!--jdbc-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2、建立項目結構mysql

|- src
  |- main
    |- cn.roylion.demo
      |- domain         //實體類 放置javaBean
      |- controller     //控制層 放置controller類
      |- service        //業務層 放置service類
      |- mapper         //數據持久層 放置mapper接口
    |- resources
      |- mybatis        //放置mybatis配置文件 和 mapper xml文件
        |- mappers      //放置mapper xml文件

3、yml配置文件git

datasource參數
spring.datasource.url             指定JDBC URL.
spring.datasource.username        指定數據源用戶名    
spring.datasource.password        指定數據源密碼

mybatis參數
mybatis.type-aliases-package: com.example.demo.entity                 別名包
mybatis.config-location: classpath:/mybatis/mybatis-config.xml        配置文件所在路徑
mybatis.mapper-locations: classpath:/mybatis/mappers/*.xml            配置mapper配置文件所在路徑

參考建議: xixicat SpringBoot配置屬性之DataSourcegithub

4、mybatis-config.xml配置spring

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <!-- 開啓駝峯自動映射 -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <plugins>
        <!--mybatis分頁插件-->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <property name="dialect" value="mysql"/>
            <property name="offsetAsPageNum" value="false"/>
            <property name="rowBoundsWithCount" value="false"/>
            <property name="pageSizeZero" value="true"/>
            <property name="reasonable" value="false"/>
            <property name="supportMethodsArguments" value="false"/>
            <property name="returnPageInfo" value="none"/>
        </plugin>
    </plugins>
            
</configuration>

5、spring啓動類增長Mapper掃描sql

@MapperScan("cn.roylion.demo.mapper")
或 Mapper接口添加@Mapper註解

6、Mapper接口數據庫

public interface UserMapper {

    List<User> findAll();
}

7、Mapper xml文件springboot

<?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="cn.roylion.demo.mapper.UserMapper">    //與Mapper接口對應

    <select id="findAll" resultType="user">
        SELECT * FROM user ORDER BY id ASC
    </select>
</mapper>

8、MyBatis實現分頁mybatis

在service層中調用
int page = 1;
int size = 5;
PageHelper.startPage(page,size);    //只生效一次。作兩次sql查詢,總數查詢一次,分頁查詢一次
List<User> users =  userMapper.findAll();
PageInfo<User> pageInfo = new PageInfo<User>(users);

參考建議: xixicat SpringBoot集成mybatisapp

相關文章
相關標籤/搜索