package com.java2nb.novel.mapper; import com.java2nb.novel.entity.BookComment; import org.apache.ibatis.annotations.*; 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; import javax.annotation.Generated; import java.util.Collection; import java.util.List; import java.util.Optional; import static com.java2nb.novel.mapper.BookCommentDynamicSqlSupport.*; import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; @Mapper public interface BookCommentMapper { @Generated("org.mybatis.generator.api.MyBatisGenerator") BasicColumn[] selectList = BasicColumn.columnList(id, bookId, commentContent, replyCount, auditStatus, createTime, createUserId); @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("BookCommentResult") Optional selectOne(SelectStatementProvider selectStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @SelectProvider(type=SqlProviderAdapter.class, method="select") @Results(id="BookCommentResult", value = { @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="book_id", property="bookId", jdbcType=JdbcType.BIGINT), @Result(column="comment_content", property="commentContent", jdbcType=JdbcType.VARCHAR), @Result(column="reply_count", property="replyCount", jdbcType=JdbcType.INTEGER), @Result(column="audit_status", property="auditStatus", jdbcType=JdbcType.TINYINT), @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT) }) 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, bookComment, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int delete(DeleteDSLCompleter completer) { return MyBatis3Utils.deleteFrom(this::delete, bookComment, 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(BookComment record) { return MyBatis3Utils.insert(this::insert, record, bookComment, c -> c.map(id).toProperty("id") .map(bookId).toProperty("bookId") .map(commentContent).toProperty("commentContent") .map(replyCount).toProperty("replyCount") .map(auditStatus).toProperty("auditStatus") .map(createTime).toProperty("createTime") .map(createUserId).toProperty("createUserId") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertMultiple(Collection records) { return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookComment, c -> c.map(id).toProperty("id") .map(bookId).toProperty("bookId") .map(commentContent).toProperty("commentContent") .map(replyCount).toProperty("replyCount") .map(auditStatus).toProperty("auditStatus") .map(createTime).toProperty("createTime") .map(createUserId).toProperty("createUserId") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertSelective(BookComment record) { return MyBatis3Utils.insert(this::insert, record, bookComment, c -> c.map(id).toPropertyWhenPresent("id", record::getId) .map(bookId).toPropertyWhenPresent("bookId", record::getBookId) .map(commentContent).toPropertyWhenPresent("commentContent", record::getCommentContent) .map(replyCount).toPropertyWhenPresent("replyCount", record::getReplyCount) .map(auditStatus).toPropertyWhenPresent("auditStatus", record::getAuditStatus) .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime) .map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default Optional selectOne(SelectDSLCompleter completer) { return MyBatis3Utils.selectOne(this::selectOne, selectList, bookComment, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List select(SelectDSLCompleter completer) { return MyBatis3Utils.selectList(this::selectMany, selectList, bookComment, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List selectDistinct(SelectDSLCompleter completer) { return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookComment, 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, bookComment, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateAllColumns(BookComment record, UpdateDSL dsl) { return dsl.set(id).equalTo(record::getId) .set(bookId).equalTo(record::getBookId) .set(commentContent).equalTo(record::getCommentContent) .set(replyCount).equalTo(record::getReplyCount) .set(auditStatus).equalTo(record::getAuditStatus) .set(createTime).equalTo(record::getCreateTime) .set(createUserId).equalTo(record::getCreateUserId); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateSelectiveColumns(BookComment record, UpdateDSL dsl) { return dsl.set(id).equalToWhenPresent(record::getId) .set(bookId).equalToWhenPresent(record::getBookId) .set(commentContent).equalToWhenPresent(record::getCommentContent) .set(replyCount).equalToWhenPresent(record::getReplyCount) .set(auditStatus).equalToWhenPresent(record::getAuditStatus) .set(createTime).equalToWhenPresent(record::getCreateTime) .set(createUserId).equalToWhenPresent(record::getCreateUserId); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKey(BookComment record) { return update(c -> c.set(bookId).equalTo(record::getBookId) .set(commentContent).equalTo(record::getCommentContent) .set(replyCount).equalTo(record::getReplyCount) .set(auditStatus).equalTo(record::getAuditStatus) .set(createTime).equalTo(record::getCreateTime) .set(createUserId).equalTo(record::getCreateUserId) .where(id, isEqualTo(record::getId)) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKeySelective(BookComment record) { return update(c -> c.set(bookId).equalToWhenPresent(record::getBookId) .set(commentContent).equalToWhenPresent(record::getCommentContent) .set(replyCount).equalToWhenPresent(record::getReplyCount) .set(auditStatus).equalToWhenPresent(record::getAuditStatus) .set(createTime).equalToWhenPresent(record::getCreateTime) .set(createUserId).equalToWhenPresent(record::getCreateUserId) .where(id, isEqualTo(record::getId)) ); } }