- 导入依赖
- yml配置文件
- config文件(生成数据源)
- Mapper接口文件(文件名称后缀必须和beetlsql.daoSuffix相同)
- md文件(文件名和@SqlResource一样)
- 文件名关系
jdk:8
springboot:2.2.13.RELEASE 导入依赖
yml配置文件org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-webcompile org.springframework.boot spring-boot-starter-jdbcorg.projectlombok lombok1.18.22 mysql mysql-connector-java8.0.22 com.alibaba druid-spring-boot-starter1.2.6 com.ibeetl sql-springboot-starter3.12.5-RELEASE
sqlManager的basePackage对应的数据源ds不同
# 数据源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: # 主库数据源 default: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 # 从库数据源 second: # 从数据源开关/默认关闭 enabled: true driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 # beetlsql配置 beetlsql: # sqlManagers: 自定义名称,逗号前不能有空格 sqlManagers: sqlManager1,sqlManager2 sqlManager1: ds: defaultDS #默认为/sql, 作为存放sql文件的根目录,位于/resources/sql目录下 sqlPath: sql/databasea #beetlsql.basePackage:默认为com,此选项配置beetlsql.daoSuffix来自动扫描com包极其子包下的所有以Dao结尾的Mapper类。以本章例子而言,你可以配置“com.bee.sample.ch5.dao” basePackage: comexampledemomappermappera # beetlsql.nameConversion: 默认是org.beetl.sql.core.UnderlinedNameConversion,能将下划线分割的数据库命名风格转化为java驼峰命名风格,还有常用的DefaultNameConversion,数据库命名完全和Java命名一直,以及JPA2NameConversion,兼容JPA命名 nameConversion: org.beetl.sql.core.DefaultNameConversion #beetlsql.dbStyle :数据库方言,默认是org.beetl.sql.core.db.MySqlStyle.对应不同的数据库,其他还有OracleStyle,PostgresStyle,SqlServerStyle,DB2SqlStyle,SQLiteStyle,H2Style dbStyle: org.beetl.sql.core.db.MySqlStyle #beetl-beetlsql.dev:默认是true,即向控制台输出执行时候的sql,参数,执行时间,以及执行的位置,每次修改sql文件的时候,自动检测sql文件修改. dev: true # 指明 mapper 类的结尾,扫描到以 Mapper 结尾的类会为其自动生成代理类,注册为 Spring 的 Bean # 默认扫描 Mapper 结尾,可不配置。如果你不是 xxxMapper 这样以 Mapper 结尾的,则需要配置 daoSuffix: Mapper # sql 文件编码 sqlFileCharset: utf-8 sqlManager2: ds: secondDS sqlPath: /sql/databaseb basePackage: com.example.demo.mapper.mapperb nameConversion: org.beetl.sql.core.DefaultNameConversion dbStyle: org.beetl.sql.core.db.MySqlStyle dev: trueconfig文件(生成数据源)
@Configuration public class DruidConfig { @Bean(name = "defaultDS") @ConfigurationProperties("spring.datasource.druid.default") public DataSource DEFAULTDataSource() { DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); return dataSource; } @Bean(name = "secondDS") @ConfigurationProperties("spring.datasource.druid.second") @ConditionalOnProperty(prefix = "spring.datasource.druid.second", name = "enabled", havingValue = "true") public DataSource SECONDDataSource() { DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); return dataSource; } }Mapper接口文件(文件名称后缀必须和beetlsql.daoSuffix相同)
两个一样
@SqlResource("Adatabase") public interface AMapper extends baseMappermd文件(文件名和@SqlResource一样){ User queryUser(User user); }
markdown 中使用```sql是可选的,好处在于帮助 IDE 或者其他工具能对 sql 进行 高亮 和语法校验
queryUser === * 查询user select * from user where 1=1 -- @if(!isEmpty(id)){ and id = #{id} -- @} -- @if(!isEmpty(name)){ and name = #{name} -- @}文件名关系
代码已上传
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)