springbootはmybatisを配置してそれにpageHelper工具を使って改ページします.
7463 ワード
Mybatis使用Demo
springboot配置Mybatisフロー1.導入依存、gradleにmybatis-spring-boot-starter 2を追加します.datasourceを配置します. appication.ymlに を配置する. xmlファイルを作成する は、springプロファイルに以下の注釈を追加する必要がある .
mybatis-pageHelper:1.依存パッケージを導入すると、springbootがPagehelper-spring-boot-starter 2を導入するので、スクリーンセーバープラグインを配置します.二、Sql Session Factoryオブジェクトに配置する.私のプロジェクトはmybatisの主な配置xmlがないので、第二の具体的な改ページ方式は1を選択します.RowBounds方式の呼び出しです.(使用しないで、参照記事の改ページツールを参照する必要があれば)2.PageHelper.startPage静的方法の呼び出し、すなわちsqlを呼び出す前の文でPageHelper.startPage(1,10)を実行します.またはPageHelper.offsetPage(1,10);その後、sqlクエリを呼び出します.ここは安全問題があるかもしれません.詳細は記事3を参照してください.パラメータ方式を使用すると、一つはインターフェースの種類で、もう一つはエンティティの中です.プレゼンテーションの第二の種類は、まず、appication.yml を設定します.
springboot配置Mybatisフロー1.導入依存、gradleにmybatis-spring-boot-starter 2を追加します.datasourceを配置します.
@Bean
public DruidDataSource dataSource(){
DruidDataSource dataSource = new DruidDataSource();
//
return dataSource;
}
mybatis:
// mybatis xml
mapper-locations: classpath:mapper/*.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>
// 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
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、pageSizepublic 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改ページツール