package com.java2nb.novel.mapper; import static com.java2nb.novel.mapper.UserDynamicSqlSupport.*; import static org.mybatis.dynamic.sql.SqlBuilder.*; import com.java2nb.novel.entity.User; 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 UserMapper { @Generated("org.mybatis.generator.api.MyBatisGenerator") BasicColumn[] selectList = BasicColumn.columnList(id, username, password, nickName, userPhoto, userSex, accountBalance, status, createTime, updateTime); @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("UserResult") Optional selectOne(SelectStatementProvider selectStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") @SelectProvider(type=SqlProviderAdapter.class, method="select") @Results(id="UserResult", value = { @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="username", property="username", jdbcType=JdbcType.VARCHAR), @Result(column="password", property="password", jdbcType=JdbcType.VARCHAR), @Result(column="nick_name", property="nickName", jdbcType=JdbcType.VARCHAR), @Result(column="user_photo", property="userPhoto", jdbcType=JdbcType.VARCHAR), @Result(column="user_sex", property="userSex", jdbcType=JdbcType.TINYINT), @Result(column="account_balance", property="accountBalance", jdbcType=JdbcType.BIGINT), @Result(column="status", property="status", jdbcType=JdbcType.TINYINT), @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP) }) 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, user, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int delete(DeleteDSLCompleter completer) { return MyBatis3Utils.deleteFrom(this::delete, user, 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(User record) { return MyBatis3Utils.insert(this::insert, record, user, c -> c.map(id).toProperty("id") .map(username).toProperty("username") .map(password).toProperty("password") .map(nickName).toProperty("nickName") .map(userPhoto).toProperty("userPhoto") .map(userSex).toProperty("userSex") .map(accountBalance).toProperty("accountBalance") .map(status).toProperty("status") .map(createTime).toProperty("createTime") .map(updateTime).toProperty("updateTime") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertMultiple(Collection records) { return MyBatis3Utils.insertMultiple(this::insertMultiple, records, user, c -> c.map(id).toProperty("id") .map(username).toProperty("username") .map(password).toProperty("password") .map(nickName).toProperty("nickName") .map(userPhoto).toProperty("userPhoto") .map(userSex).toProperty("userSex") .map(accountBalance).toProperty("accountBalance") .map(status).toProperty("status") .map(createTime).toProperty("createTime") .map(updateTime).toProperty("updateTime") ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insertSelective(User record) { return MyBatis3Utils.insert(this::insert, record, user, c -> c.map(id).toPropertyWhenPresent("id", record::getId) .map(username).toPropertyWhenPresent("username", record::getUsername) .map(password).toPropertyWhenPresent("password", record::getPassword) .map(nickName).toPropertyWhenPresent("nickName", record::getNickName) .map(userPhoto).toPropertyWhenPresent("userPhoto", record::getUserPhoto) .map(userSex).toPropertyWhenPresent("userSex", record::getUserSex) .map(accountBalance).toPropertyWhenPresent("accountBalance", record::getAccountBalance) .map(status).toPropertyWhenPresent("status", record::getStatus) .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime) .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default Optional selectOne(SelectDSLCompleter completer) { return MyBatis3Utils.selectOne(this::selectOne, selectList, user, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List select(SelectDSLCompleter completer) { return MyBatis3Utils.selectList(this::selectMany, selectList, user, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default List selectDistinct(SelectDSLCompleter completer) { return MyBatis3Utils.selectDistinct(this::selectMany, selectList, user, 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, user, completer); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateAllColumns(User record, UpdateDSL dsl) { return dsl.set(id).equalTo(record::getId) .set(username).equalTo(record::getUsername) .set(password).equalTo(record::getPassword) .set(nickName).equalTo(record::getNickName) .set(userPhoto).equalTo(record::getUserPhoto) .set(userSex).equalTo(record::getUserSex) .set(accountBalance).equalTo(record::getAccountBalance) .set(status).equalTo(record::getStatus) .set(createTime).equalTo(record::getCreateTime) .set(updateTime).equalTo(record::getUpdateTime); } @Generated("org.mybatis.generator.api.MyBatisGenerator") static UpdateDSL updateSelectiveColumns(User record, UpdateDSL dsl) { return dsl.set(id).equalToWhenPresent(record::getId) .set(username).equalToWhenPresent(record::getUsername) .set(password).equalToWhenPresent(record::getPassword) .set(nickName).equalToWhenPresent(record::getNickName) .set(userPhoto).equalToWhenPresent(record::getUserPhoto) .set(userSex).equalToWhenPresent(record::getUserSex) .set(accountBalance).equalToWhenPresent(record::getAccountBalance) .set(status).equalToWhenPresent(record::getStatus) .set(createTime).equalToWhenPresent(record::getCreateTime) .set(updateTime).equalToWhenPresent(record::getUpdateTime); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKey(User record) { return update(c -> c.set(username).equalTo(record::getUsername) .set(password).equalTo(record::getPassword) .set(nickName).equalTo(record::getNickName) .set(userPhoto).equalTo(record::getUserPhoto) .set(userSex).equalTo(record::getUserSex) .set(accountBalance).equalTo(record::getAccountBalance) .set(status).equalTo(record::getStatus) .set(createTime).equalTo(record::getCreateTime) .set(updateTime).equalTo(record::getUpdateTime) .where(id, isEqualTo(record::getId)) ); } @Generated("org.mybatis.generator.api.MyBatisGenerator") default int updateByPrimaryKeySelective(User record) { return update(c -> c.set(username).equalToWhenPresent(record::getUsername) .set(password).equalToWhenPresent(record::getPassword) .set(nickName).equalToWhenPresent(record::getNickName) .set(userPhoto).equalToWhenPresent(record::getUserPhoto) .set(userSex).equalToWhenPresent(record::getUserSex) .set(accountBalance).equalToWhenPresent(record::getAccountBalance) .set(status).equalToWhenPresent(record::getStatus) .set(createTime).equalToWhenPresent(record::getCreateTime) .set(updateTime).equalToWhenPresent(record::getUpdateTime) .where(id, isEqualTo(record::getId)) ); } }