Browse Source

修改bug

master
刘忱 1 year ago
parent
commit
d6661d76d7
  1. 11
      src/main/java/com/win/bank/Application.java
  2. 28
      src/main/java/com/win/bank/config/MyBatisConfig.java
  3. 65
      src/main/java/com/win/bank/config/MybatisPlusConfig.java
  4. 9
      src/main/java/com/win/bank/dal/mysql/bank/BankMapper.java
  5. 3
      src/main/java/com/win/bank/domain/BankDO.java
  6. 2
      src/main/java/com/win/bank/domain/BaseDO.java
  7. 10
      src/main/java/com/win/bank/mapper/BankMapper.java
  8. 4
      src/main/java/com/win/bank/service/MainService.java
  9. 18
      src/main/java/com/win/bank/service/bank/BankService.java
  10. 21
      src/main/java/com/win/bank/service/bank/BankServiceImpl.java
  11. 2
      src/main/java/com/win/bank/service/cmb/CmbServiceImpl.java
  12. 57
      src/main/resources/application-mybatis.yml
  13. 24
      src/main/resources/application.yml
  14. 5
      src/main/resources/mapper/BankMapper.xml
  15. 12
      src/main/resources/mapper/bank/BankMapper.xml

11
src/main/java/com/win/bank/Application.java

@ -11,17 +11,14 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*
* @author win
*/
// @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${win.info.base-package}
// @SpringBootApplication(scanBasePackages = {"${win.info.base-package}.server", "${win.info.base-package}.module"},
// exclude = {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class})
@SpringBootApplication(scanBasePackages = {"${win.info.base-package}.server", "${win.info.base-package}.module"})
@SpringBootApplication
@EnableScheduling
@ComponentScan("com.win")
@MapperScan("com.win.bank.dal.mysql")
@MapperScan("com.win.bank.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
System.out.println("闻音启动成功");
}
}

28
src/main/java/com/win/bank/config/MyBatisConfig.java

@ -1,28 +0,0 @@
package com.win.bank.config;
import javax.sql.DataSource;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan(value = "com.win.bank", annotationClass = Mapper.class) // Mapper 懒加载,目前仅用于单元测试
public class MyBatisConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}

65
src/main/java/com/win/bank/config/MybatisPlusConfig.java

@ -0,0 +1,65 @@
package com.win.bank.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
/**
* Mybatis Plus 配置
*
* @author win
*/
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 乐观锁插件
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
// 分页插件
interceptor.addInnerInterceptor(paginationInnerInterceptor());
// 阻断插件
interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
return interceptor;
}
/**
* 分页插件自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
*/
public PaginationInnerInterceptor paginationInnerInterceptor() {
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
// 设置数据库类型为mysql
paginationInnerInterceptor.setDbType(DbType.MYSQL);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInnerInterceptor.setMaxLimit(-1L);
return paginationInnerInterceptor;
}
/**
* 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
*/
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
return new OptimisticLockerInnerInterceptor();
}
/**
* 如果是对全表的删除或更新操作就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
*/
public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
return new BlockAttackInnerInterceptor();
}
}

9
src/main/java/com/win/bank/dal/mysql/bank/BankMapper.java

@ -1,9 +0,0 @@
package com.win.bank.dal.mysql.bank;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.win.bank.dal.dataobject.bank.BankDO;
@Mapper
public interface BankMapper extends BaseMapper<BankDO> {}

3
src/main/java/com/win/bank/dal/dataobject/bank/BankDO.java → src/main/java/com/win/bank/domain/BankDO.java

@ -1,10 +1,9 @@
package com.win.bank.dal.dataobject.bank;
package com.win.bank.domain;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.win.bank.dal.dataobject.BaseDO;
import lombok.*;

2
src/main/java/com/win/bank/dal/dataobject/BaseDO.java → src/main/java/com/win/bank/domain/BaseDO.java

@ -1,4 +1,4 @@
package com.win.bank.dal.dataobject;
package com.win.bank.domain;
import java.io.Serializable;

10
src/main/java/com/win/bank/mapper/BankMapper.java

@ -0,0 +1,10 @@
package com.win.bank.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.win.bank.domain.BankDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BankMapper extends BaseMapper<BankDO> {
}

4
src/main/java/com/win/bank/service/MainService.java

@ -4,11 +4,11 @@ import java.util.List;
import javax.annotation.Resource;
import com.win.bank.service.bank.BankService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.win.bank.dal.dataobject.bank.BankDO;
import com.win.bank.service.bank.BankService;
import com.win.bank.domain.BankDO;
@Component
public class MainService {

18
src/main/java/com/win/bank/service/bank/BankService.java

@ -3,8 +3,20 @@ package com.win.bank.service.bank;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.win.bank.dal.dataobject.bank.BankDO;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.win.bank.domain.BankDO;
import com.win.bank.mapper.BankMapper;
@Service
public class BankService extends ServiceImpl<BankMapper, BankDO> implements IService<BankDO> {
public List<BankDO> listByStatus(String status) {
QueryWrapper<BankDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", status);
return baseMapper.selectList(queryWrapper);
}
public interface BankService extends IService<BankDO> {
List<BankDO> listByStatus(String status);
}

21
src/main/java/com/win/bank/service/bank/BankServiceImpl.java

@ -1,21 +0,0 @@
package com.win.bank.service.bank;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.win.bank.dal.dataobject.bank.BankDO;
import com.win.bank.dal.mysql.bank.BankMapper;
@Service
public class BankServiceImpl extends ServiceImpl<BankMapper, BankDO> implements BankService {
@Override
public List<BankDO> listByStatus(String status) {
QueryWrapper<BankDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", status);
return list(queryWrapper);
}
}

2
src/main/java/com/win/bank/service/cmb/CmbServiceImpl.java

@ -5,7 +5,7 @@ import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.win.bank.dal.dataobject.bank.BankDO;
import com.win.bank.domain.BankDO;
@Service
public class CmbServiceImpl {

57
src/main/resources/application-mybatis.yml

@ -0,0 +1,57 @@
# MyBatis Plus配置
mybatis-plus:
# 不支持多包, 如有需要可在注解配置 或 提升扫包等级
# 例如 com.**.**.mapper
mapperPackage: com.win.bank.mapper
# 对应的 XML 文件位置
mapperLocations: classpath*:mapper/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.win.bank.domain
# 加载全局的配置文件
# configLocation: classpath:mybatis/mybatis-config.xml
# 启动时是否检查 MyBatis XML 文件的存在,默认不检查
checkConfigLocation: false
configuration:
# 自动驼峰命名规则(camel case)映射
mapUnderscoreToCamelCase: true
# MyBatis 自动映射策略
# NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
autoMappingBehavior: PARTIAL
# MyBatis 自动映射时未知列或未知属性处理策
# NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
autoMappingUnknownColumnBehavior: NONE
# 开启缓存
cache-enabled: true
# 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
# 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
# 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl
global-config:
# 是否打印 Logo banner
banner: false
dbConfig:
# 主键类型
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
id_type: AUTO
# 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
# logic-delete-field: flag
# 逻辑已删除值(默认为 1)
logic-delete-value: 1
# 逻辑未删除值(默认为 0)
logic-not-delete-value: 0
# 逻辑已删除值
logicDeleteValue: 2
logicNotDeleteValue: 0
# 字段验证策略之 insert,在 insert 的时候的字段验证策略
# IGNORED 忽略 NOT_NULL 非NULL NOT_EMPTY 非空 DEFAULT 默认 NEVER 不加入 SQL
insert_strategy: NOT_NULL
# 字段验证策略之 update,在 update 的时候的字段验证策略
update_strategy: NOT_NULL
# 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
where-strategy: NOT_NULL
# PageHelper分页插件
pagehelper:
helperDialect: mysql
supportMethodsArguments: true
params: count=countSql

24
src/main/resources/application.yml

@ -2,7 +2,7 @@ spring:
application:
name: win
profiles:
include: druid
include: druid,mybatis
active: dev
main:
allow-bean-definition-overriding: true
@ -12,28 +12,6 @@ spring:
max-file-size: 200MB
max-request-size: 1000MB
# MyBatis Plus 的配置项
mybatis-plus:
configuration:
map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl
# 开启缓存
cache-enabled: true
global-config:
db-config:
id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
banner: false # 关闭控制台的 Banner 打印
type-aliases-package: com.win.bank.dal.dataobject
mapper-locations: classpath:/mapper/bank/*.xml
# type-aliases-package: ${win.info.base-package}.module.*.dal.dataobject
encryptor:
password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成
mybatis-plus-join:
banner: false # 关闭控制台的 Banner 打印
win:
info:
base-package: com.win

5
src/main/resources/mapper/BankMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.tms.system.mapper.CarrierFinanceMapper">
</mapper>

12
src/main/resources/mapper/bank/BankMapper.xml

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.bank.dal.mysql.bank.BankMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>
Loading…
Cancel
Save