<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
IService
service层需要继承IService,当然实现层也要继承对应的实现类
public interface UserService extends IService<User> {
}
impl
@Service
public class UserServiceImpl extends ServiceImpl< UserMapper , User> implements UserService {
}
mapper
public interface UserMapper extends BaseMapper<User> {}
mybaits yml
mybatis-plus:
mapper-locations:
- classpath:mapper/*Mapper.xml
global-config:
db-config:
id-type: auto
banner: true
mybatis-plus:
mapper-locations: classpath*:/mapper/*.xml
type-aliases-package: net.xinhuamm.noah.api.model.entity,net.xinhuamm.noah.api.model.dto
check-config-location: true
default-executor-type: REUSE
configuration:
map-underscore-to-camel-case: false
cache-enabled: false
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
table-underline: true
id-type: auto
logic-not-delete-value: 0
logic-delete-value: 1
db-type: sql_server
mybatis-plus yml 打印详细SQL
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations:
- classpath:mapper/*Mapper.xml
global-config:
db-config:
id-type: auto
banner: true
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
level:
com.chz.mapper: debug
config_mybatis
mybatis-plus.mapper-locations=classpath*:**/mapper/xml/*.xml
mybatis-plus.type-aliases-package=com.caochenlei.mpdemo.pojo
mybatis-plus.type-handlers-package=com.caochenlei.mpdemo.type
mybatis-plus.type-enums-package=com.caochenlei.mpdemo.enum
mybatis-plus.check-config-location=false
mybatis-plus.executor-type=simple
mybatis-plus.configuration.map-underscore-to-camel-case=true
mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler
mybatis-plus.configuration.aggressive-lazy-loading=true
mybatis-plus.configuration.lazy-loading-enabled=true
mybatis-plus.configuration.auto-mapping-behavior=partial
mybatis-plus.configuration.auto-mapping-unknown-column-behavior=none
mybatis-plus.configuration.local-cache-scope=session
mybatis-plus.configuration.cache-enabled=true
mybatis-plus.configuration.call-setters-on-nulls=false
mybatis-plus.configuration.configuration-factory=
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus.global-config.banner=true
mybatis-plus.global-config.enable-sql-runner=false
mybatis-plus.global-config.super-mapper-class=com.baomidou.mybatisplus.core.mapper.Mapper
mybatis-plus.global-config.db-config.id-type=assign_id
mybatis-plus.global-config.db-config.table-prefix=tbl_
mybatis-plus.global-config.db-config.schema=
mybatis-plus.global-config.db-config.column-format=
mybatis-plus.global-config.db-config.property-format=
mybatis-plus.global-config.db-config.table-underline=true
mybatis-plus.global-config.db-config.capital-mode=false
mybatis-plus.global-config.db-config.logic-delete-field=
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
mybatis-plus.global-config.db-config.insert-strategy=not_null
mybatis-plus.global-config.db-config.update-strategy=not_null
mybatis-plus.global-config.db-config.select-strategy=not_null
test
@Resource TUserMapper tUserMapper;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
QueryWrapper<TUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", username);
TUser tUser = tUserMapper.selectOne(queryWrapper);
return this.getOne(queryWrapper);
}
条件构造器and or嵌套使用
.eq("a", "A").or(i -> i.eq("b", "B").eq("c", "C"));
.eq("a", "A").or(i -> i.eq("b", "B").or().eq("c", "C"));
.eq("a", "A").and(i -> i.eq("b", "B").eq("c", "C"));
.eq("a", "A").and(i -> i.eq("b", "B").or().eq("c", "C"));
QueryWrapper<Payment> wrapper = new QueryWrapper<Payment>()
.isNull("delete_time")
.eq("oid", "1")
.orderByDesc("create_time", "id");
wrapper.and(i -> i.eq("status", "1").in("type_name", "收款单", "退款单")
.or().in("type_name", "手工收款单", "手工退款单"));
SELECT * FROM am_payment
WHERE (
delete_time IS NULL
AND
oid = ?
AND (
status = ?
AND
type_name IN (?,?)
OR
type_name IN (?,?)
)
)
ORDER BY create_time DESC,id DESC
limit ?
offset ?