springbootはmybatisを配置してそれにpageHelper工具を使って改ページします.

7463 ワード

Mybatis使用Demo
springboot配置Mybatisフロー1.導入依存、gradleにmybatis-spring-boot-starter 2を追加します.datasourceを配置します.
    @Bean
    public DruidDataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        //   
        return dataSource;
    }
  • appication.ymlに
  • を配置する.
    mybatis:
        //    mybatis xml      
        mapper-locations: classpath:mapper/*.xml
  • xmlファイルを作成する
  • 
    
    //namespace   mybatis     
    <mapper namespace="com.dullbird.demo.mybaits.mapper.UserBaseInfoMapper">
        <resultMap id="UserBaseInfoTotal" type="com.dullbird.demo.mybaits.po.UserBaseInfo">
            <result column="user_id" property="userId" jdbcType="BIGINT" />
            <result column="name" property="name" jdbcType="VARCHAR" />
        resultMap>
        <select id="listUserInfos" resultMap="UserBaseInfoTotal">
            select * from user_base_info
        select>
    mapper>
  • は、springプロファイルに以下の注釈を追加する必要がある
  • .
    //    mapper
    @MapperScan("com.dullbird.demo.mybaits.mapper")
    @Configuration
    //      
    @EnableTransactionManagement
    6.試験種類のテスト結果を書けばいいです.
    mybatis-pageHelper:1.依存パッケージを導入すると、springbootがPagehelper-spring-boot-starter 2を導入するので、スクリーンセーバープラグインを配置します.二、Sql Session Factoryオブジェクトに配置する.私のプロジェクトはmybatisの主な配置xmlがないので、第二の , NPE, , 。 java.lang.RuntimeException: , !, を使います.
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource){
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        //                  setProperties
        Interceptor[] interceptors = {new PageInterceptor()};
        //      
        sqlSessionFactoryBean.setPlugins(interceptors);
        sqlSessionFactoryBean.setDataSource(dataSource);
        SqlSessionFactory sqlSessionFactory  = null;
        try {
             sqlSessionFactory = sqlSessionFactoryBean.getObject();
        } catch (Exception e) {
            logger.error("=============",e);
        }
        return sqlSessionFactory;
    }
    第三の方法は、直接的に構成し、利用可能なテストを行います.
    @Bean
    public PageHelper getPageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties properties = new Properties();
        properties.setProperty("helperDialect", "mysql");
        pageHelper.setProperties(properties);
        return pageHelper;
    }
    第三の方式のappication.ymlの構成は、javaの構成と同じです.
    pagehelper:
        helperDialect: mysql
    #    reasonable: true
        supportMethodsArguments: true
        params: pageNum=pageNum;pageSize=pageSize
  • 具体的な改ページ方式は1を選択します.RowBounds方式の呼び出しです.(使用しないで、参照記事の改ページツールを参照する必要があれば)2.PageHelper.startPage静的方法の呼び出し、すなわちsqlを呼び出す前の文でPageHelper.startPage(1,10)を実行します.またはPageHelper.offsetPage(1,10);その後、sqlクエリを呼び出します.ここは安全問題があるかもしれません.詳細は記事3を参照してください.パラメータ方式を使用すると、一つはインターフェースの種類で、もう一つはエンティティの中です.プレゼンテーションの第二の種類は、まず、appication.yml
  • を設定します.
    pagehelper:
        helperDialect: mysql
        //        
        supportMethodsArguments: true
        //  pageNum pageSize
        params: pageNum=pageNum;pageSize=pageSize
    そしてbeanを修正します
    public class UserBaseInfo {
        private Long userId;
        private String name;
        //        
        private Integer pageNum;
        private Integer pageSize;
        //  getter/setter
    }
    インターフェースを修正してUserBaseInfoのパラメータを受信し、表示する必要がない処理pageNum、pageSize
    public interface UserBaseInfoMapper {
        List listUserInfos(UserBaseInfo userBaseInfo);
    }
        
    UserBaseInfo userBaseInfo = new UserBaseInfo();
    userBaseInfo.setPageNum(1);
    userBaseInfo.setPageSize(5);
    System.out.println(userBaseInfoMapper.listUserInfos(userBaseInfo));
    , 。 supportMethodsArguments: true
    pageNum=pageNum;pageSize=pageSize , 。
    参考文章:1.https://blog.csdn.net/zhoujiyu123/article/details/79786847 springbootはどのようにmybatis 2を継承しますか?https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md mybatis改ページツール