Spring框架集成
一:git
git log (显示当前分支的版本历史)
Git reset
git branch
二:项目搭建
1、项目结构
Service层 业务逻辑层(压力会最大)
Dao 数据持久层
Common 公用组件层
Web 请求处理层
Service 依赖Dao 和Common Web 依赖Service
2、新建项目,分模块建项目
在建模块时,一定不要用关键字!
3、dependencies dependencyManagement
dependencyManagement 统一管理项目的版本号,确保应用的各个项目的依赖和版本号一致。
搭框架遇见的问题:source 和Resource
4、找jar包
5集成mybatis plus
mybatis plus 对mybatis 的二次封装。
添加jar包
添加扫包配置类
修改配置文件
1) mybatis plus 代码生成器
代码生成功能,可以生成xml、dao、service 等文件
2) mybatis plus优化
日志:
优化:新项目集成进来不会打印日志,需要做两件事儿
1>把logBack加进来
LogBack 是框架默认的
Log4j 改变日志级别需要重启
关注LogBack.Xml
分页:
用page
5、CommandLineRunner
项目启动执行一次,就关闭,执行一些定时器!
Crontab linux 命令 制定什么时间执行,
6、一些userMapper的查询
return args -> {
log.info("start to select user"); userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAge,28)); System.out.println(userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 28)));
System.out.println(userMapper
.selectList(Wrappers.<User>lambdaQuery().ge(User::getAge, 2).eq(User::getName, "Jack")));
System.out.println(userMapper.selectById(1));
System.out.println(userMapper.selectCount(null));
System.out.println(userMapper.selectPageVo(18));
};
三:数据库连接池
1、使用数据库连接池的原因:
1)所有数据库连接池都遵循基本的设计原则,实现DataSource接口,里面最重要的方法是 Connection getConnection,一个Connection 就是一个数据库链接,就是一个TCP链接,建立TCP链接是需要3次握手的,这降低使用效率,所以使用数据库连接池
2)数据库连接池通过事先建好Connection并缓存起来,这样应用需要做查询的时候,直接从缓存中拿到Connection就可以使用了,数据库连接池还能检测异常的链接,释放闲置的链接。
数据库连接池的比较:
2、
HiKariCP: 代码精简。稳定性好、速度快
3、数据库连接池的最大连接数和最小连接数:
## 最小空闲连接数量
spring.datasource.hikari.minimum-idle=10
## 连接池最大连接数,默认是10
spring.datasource.hikari.maximum-pool-size=10
公式:连接数 = (核心数*2)+有效磁盘书
小型四核i7服务器连接池大小设置为:4*2+1=9,如果链接数太多的话,在数据库连接池的切换上花费更多的性能。
四:动态数据源:
主从库,读写分离;主要用mycat等中间件实现。
分布式数据库,加上注解,读取相应的数据库。
五:Maven的多数据源打包