package com.java2nb.novel.mapper; import static com.java2nb.novel.mapper.BookContentDynamicSqlSupport.*; import static org.mybatis.dynamic.sql.SqlBuilder.*; import com.java2nb.novel.entity.BookContent; import java.util.Collection; import java.util.List; import java.util.Optional; import javax.annotation.Generated; import org.apache.ibatis.annotations.DeleteProvider; import org.apache.ibatis.annotations.InsertProvider; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.ResultMap; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.UpdateProvider; import org.apache.ibatis.type.JdbcType; import org.mybatis.dynamic.sql.BasicColumn; import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider; import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider; import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider; import org.mybatis.dynamic.sql.select.CountDSLCompleter; import org.mybatis.dynamic.sql.select.SelectDSLCompleter; import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; import org.mybatis.dynamic.sql.update.UpdateDSL; import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; import org.mybatis.dynamic.sql.update.UpdateModel; import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider; import org.mybatis.dynamic.sql.util.SqlProviderAdapter; import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; @Mapper public interface BookContentMapper { @Generated("org.mybatis.generator.api.MyBatisGenerator") BasicColumn[] selectList = BasicColumn.columnList(id, indexId, content); @Generated("org.mybatis.generator.api.MyBatisGenerator") @SelectProvider(type=SqlProviderAdapter.class, method="select") long count(SelectStatementProvider selectStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @DeleteProvider(type=SqlProviderAdapter.class, method="delete") int delete(DeleteStatementProvider deleteStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @InsertProvider(type=SqlProviderAdapter.class, method="insert") int insert(InsertStatementProvider insertStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple") int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @SelectProvider(type=SqlProviderAdapter.class, method="select") @ResultMap("BookContentResult") Optional selectOne(SelectStatementProvider selectStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @SelectProvider(type=SqlProviderAdapter.class, method="select") @Results(id="BookContentResult", value = { @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="index_id", property="indexId", jdbcType=JdbcType.BIGINT), @Result(column="content", property="content", jdbcType=JdbcType.VARCHAR) }) List selectMany(SelectStatementProvider selectStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @UpdateProvider(type=SqlProviderAdapter.class, method="update") int update(UpdateStatementProvider updateStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") default long count(CountDSLCompleter completer) { return MyBatis3Utils.countFrom(this::count, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int delete(DeleteDSLCompleter completer) { return MyBatis3Utils.deleteFrom(this::delete, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int deleteByPrimaryKey(Long id_) { return delete(c -> c.where(id, isEqualTo(id_)) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insert(BookContent record) { return MyBatis3Utils.insert(this::insert, record, bookContent, c -> c.map(id).toProperty("id") .map(indexId).toProperty("indexId") .map(content).toProperty("content") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertMultiple(Collection records) { return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookContent, c -> c.map(id).toProperty("id") .map(indexId).toProperty("indexId") .map(content).toProperty("content") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertSelective(BookContent record) { return MyBatis3Utils.insert(this::insert, record, bookContent, c -> c.map(id).toPropertyWhenPresent("id", record::getId) .map(indexId).toPropertyWhenPresent("indexId", record::getIndexId) .map(content).toPropertyWhenPresent("content", record::getContent) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default Optional selectOne(SelectDSLCompleter completer) { return MyBatis3Utils.selectOne(this::selectOne, selectList, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List select(SelectDSLCompleter completer) { return MyBatis3Utils.selectList(this::selectMany, selectList, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List selectDistinct(SelectDSLCompleter completer) { return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default Optional selectByPrimaryKey(Long id_) { return selectOne(c -> c.where(id, isEqualTo(id_)) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int update(UpdateDSLCompleter completer) { return MyBatis3Utils.update(this::update, bookContent, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateAllColumns(BookContent record, UpdateDSL dsl) { return dsl.set(id).equalTo(record::getId) .set(indexId).equalTo(record::getIndexId) .set(content).equalTo(record::getContent); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateSelectiveColumns(BookContent record, UpdateDSL dsl) { return dsl.set(id).equalToWhenPresent(record::getId) .set(indexId).equalToWhenPresent(record::getIndexId) .set(content).equalToWhenPresent(record::getContent); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKey(BookContent record) { return update(c -> c.set(indexId).equalTo(record::getIndexId) .set(content).equalTo(record::getContent) .where(id, isEqualTo(record::getId)) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKeySelective(BookContent record) { return update(c -> c.set(indexId).equalToWhenPresent(record::getIndexId) .set(content).equalToWhenPresent(record::getContent) .where(id, isEqualTo(record::getId)) ); } }