代码拉取完成,页面将自动刷新
该项目,集成spring-boot,mybatis,通用mapper,pagehelper,druid。致力于降低数据层的开发复杂度,让mybatis配置彻底告别xml,让基于mybatis的开发嵌入jpa的身影,极大降低mybatis的入门门槛,也极大的增加mybatis的可用性。让mybatis新手使用mybatis轻轻松松,让mybatis老手开发效率和编码质量更上一层楼。
快速入门点击这里
2.0.2
发布时间:2018年9月8日
更新内容:
1.解决数据库连接池创建线程过多的问题
2.解决必须配置从库的问题
3.优化部分代码
2.0.1
发布时间:2018年5月15日
更新内容:
1.优化部分代码
2.解决代码生成器中的问题
2.0.0
发布时间:2018年5月10日
更新内容:
1.添加sharding-jdbc对分库分表进行支持
2.已经其它一些调整
注意: 2.X.X版本和1.X.X配置文件不兼容
1.1.0
发布时间:2018年4月12日
更新内容:
1.升级spring-boot至2.0.1
1.0.7
发布时间:2018年4月11日
更新内容:
1.升级spring-boot至1.5.11,以及升级其它部分依赖
2.解决直接使用GeneratorMain代码生成时,如果项目依赖了spring-boot-starter-web时抛出异常问题
1.0.6
发布时间:2018年1月24日
更新内容:
1.修改部分默认参数
2.增加spring.mybatis.nodes.[dbname].properties mybatis配置参数
1.0.5
发布时间:2017年12月11日
更新内容:
1.升级druid依赖至1.1.6
2.解决1.0.4引起的事务中的bug
1.0.4
发布时间:2017年11月9日
更新内容:
1.重写代码生成器的入口类,修改代码生成器配置依赖项目配置
2.解决多数据源时的配置隔离问题
3.解决代码生成器,依赖工具类问题
1.0.3
发布时间:2017年11月3日
更新内容:
1.降低jdk依赖至1.7
2.解决分页插件在多数据源时存在的问题
1.0.2
发布时间:2017年9月29日
更新内容:
1.解决当从库数量为0时,或者从库出现异常下线时,试图切换到从库查询时,出现索引越界的问题
1.0.1
发布时间: 2017年9月27日
更新内容:
1.增加mybatis-generator依赖,实现项目内快速生成dao层
1.0.0
发布时间: 2017年9月24日
更新内容:
1. 支持读写分离;
2. 支持多数据源;
3. 基于druid的服务器监控。
4. 支持注解方式指定枚举与数据库存储值的对应;
5. 基于通用mapper快速实现单表的增删查改;
6. 基于pagehelper便捷易用的数据库物理分页实现;
git clone https://gitee.com/lei0719/spring-boot-starter-dao-example.git
导入示例到eclipse,修改generator.properties
中参数,使jdbc参数指向你的数据库。修改表参数,把计划生成的表改为你的数据库中存在。
以Application方式启动项目,选择包含main方法的com.reger.mybatis.generator.GeneratorMain
,运行。
稍等,如果没有出现异常,基本就生成好了你数据表的数据层。
运行示例项目,你首先需要导入数据文件test.sql
。
然后修改'application.yml'中db链接的配置参数,如果没有从库,可以先把从库的配置注释掉
在项目跟目录执行 mvn spring-boot:run
spring:
druid:
stat:
enable: true # 启用druid监控控制台
allow: '' # IP白名单 (没有配置或者为空,则允许所有访问)
deny: '' # IP黑名单 (存在共同时,deny优先于allow)
loginUsername: 'leige' # 用户名
loginPassword: 'leige' # 密码
exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*' # WebStatFilter忽略资源
resetEnable: false #禁用HTML页面上的“Reset All”功能
filter-url-patterns: '/*'
spring:
druid:
default: # druid连接池默认参数,具体主库或者从库的配置会继承该配置
enable: true
initial-size: 5 # 链接池初始化大小
max-active: 500 # 链接池中最大的链接数
min-idle: 5 # 链接池中最少要保留的链接数
max-wait: 3000 # 链接池中最大等待的链接数
filters: wall,stat # 启用过滤器
username: reger # 数据库登陆名
password: reger_123 # 数据库登陆密码
default-auto-commit: true # 是否自动提交事务,如果设置为false,代码中不启用事务数据将没法持久化
access-to-underlying-connection-allowed:
async-close-connection-enable:
break-after-acquire-failure:
clear-filters-enable:
connection-error-retry-attempts:
default-read-only:
default-transaction-isolation:
driver-class-name:
dup-close-log-enable:
fail-fast:
log-abandoned:
log-different-thread:
login-timeout:
max-create-task-count:
max-evictable-idle-time-millis:
max-open-prepared-statements:
max-pool-prepared-statement-per-connection-size:
min-evictable-idle-time-millis:
not-full-timeout-retry-count:
pool-prepared-statements:
query-timeout:
remove-abandoned:
remove-abandoned-timeout-millis:
test-on-borrow:
test-on-return:
test-while-idle:
time-between-connect-error-millis:
time-between-eviction-runs-millis:
time-between-log-stats-millis:
url:
validation-query:
validation-query-timeout:
connect-properties:
spring:
mybatis:
configuration: # mybatis具体的配置参数,所有的mybatis实例都会使用该配置
cache-enabled: true # 是否启用缓存
local-cache-scope: session # 缓存范围
lazy-loading-enabled: true # 是否启用懒加载
default-executor-type: simple # sql执行模式
map-underscore-to-camel-case: true # 开启驼峰转换
aggressive-lazy-loading:
auto-mapping-behavior:
call-setters-on-nulls:
default-fetch-size:
default-statement-timeout:
log-prefix:
use-generated-keys:
log-impl:
multiple-result-sets-enabled:
return-instance-for-empty-row:
use-column-label:
safe-result-handler-enabled:
safe-row-bounds-enabled:
use-actual-param-name:
spring:
mybatis:
nodes:
user: # 该数据点的名字
order: before # mybatis生成主键的顺序,如果要在insert into 数据前获得主键,配置为 BEFORE,否则配置为 AFTER 默认值为 BEFORE
style: normal # mybatis通用mapper中列字段默认转化方式
primary: false # 是否是默认的数据对象, 最多只有一个为true,如果配置多个只有第一个生效
base-package: com.reger.test.user.dao # mybatis mapper接口文件的配置位置,该值不可以为空,可以用正则匹配,多个用逗号分隔
mapper-package: com.reger.test.user.mapper # mybatis mapper 的xml配置文件的位置 ,该值最好不要为空,可以用正则匹配,多个用逗号分隔
type-aliases-package: 'com.reger.test.user.model' # model类所在的包,该值可以为空,可以用正则匹配,多个用逗号分隔
properties: # mybatis配置参数
config-map:
data-sources: # 分库数据源配置(没有分库数据源配置,同时没有分片配置时,只有主从配置时将使用主从配置)
user_0:
load-balance-algorithm-type: round-robin
master:
url: jdbc:mysql://127.0.0.1:3306/user?useSSL=false
slaves:
- url: jdbc:mysql://127.0.0.1:3308/user?useSSL=false
props:
sql.show: true
base:
order: before
style: normal
primary: true
base-package: com.reger.test.base.dao
mapper-package: com.reger.test.base.mapper
type-aliases-package: 'com.reger.test.base.model'
# properties:
# config-map:
data-sources:
base_0:
# load-balance-algorithm-class-name:
load-balance-algorithm-type: random
master:
url: jdbc:mysql://127.0.0.1:3306/base_0?useSSL=false
base_1:
load-balance-algorithm-type: round-robin
master:
url: jdbc:mysql://127.0.0.1:3306/base_1?useSSL=false
slaves:
- url: jdbc:mysql://127.0.0.1:3308/base_1?useSSL=false
props:
sql.show: true
sharding:
# default-data-source-name: base_0
# default-key-generator-class:
# binding-tables:
# -
default-database-strategy:
inline:
sharding-column: id
algorithm-expression: "base_${id % 23 % 2}"
tables:
base:
key-generator-column-name: id
actual-data-nodes: "base_${0..1}.base"
# key-generator-class:
# logic-index:
# logic-table: base
# database-strategy:
# inline:
# sharding-column: id
# algorithm-expression: "base_${id % 23 % 2}"
# table-strategy:
# inline:
# sharding-column: ctime
# algorithm-expression: base_${D.format(ctime)}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型