补两张知识导图
最近的两篇文章《Maven初识》和《第一个MyBatis程序》 文中缺少了知识结构图,这里补充一下。
初识Maven
MyBatis知识导图
本节内容是关于 MyBatis
的高级部分,上节的内容重点是带大家从零开始搭建一个使用 MyBatis
框架的java项目,并且能使用 MyBatis
框架完成对数据库中表的增删改查操作;这听起来不难理解,但对于新手要实战一遍,还是需要多加练习,推荐大家通过新建 Module
的方式来操作。
本节内容会在上一节的基础上进行,包括项目工程和数据库,内容包括但不限于:
-
MyBatis核心配置文件中其他配置
-
SQL语句如何动态化
-
MyBatis 注解开发模式
-
MyBatis 缓存机制
-
分页功能
tips:本文demo的源码和数据表,在公众号 推荐学java
回复 myBatisDemo
即可获得。
即将进入正题,请保持安静
配置文件标签
日志管理
日志文件是用于记录系统操作事件的记录文件或文件集合。
在实际开发中日志是非常重要的,能起到两个很大的作用, 其一:帮助开发人员排错 , 其二:能通过记录管理谁操作了什么内容 ,这两点尤其和库关联的时候,就能起到非常关键的作用, 删库跑路 这样的说法相信各位都听说过吧!
日志框架掌握两个常用的即可:
-
STDOUT_LOGGING
-
LOG4J
使用方式比较简单,在主配置文件 mybatis-config.xml
中添加如下代码:
<settings>
<!-- 配置日志 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
对于 STDOUT_LOGGING
添加如上配置即可使用;对于 LOG4J
该库本身支持各种各样的定制,可单独增加属性配置文件,按照自己的需求来修改配置,做到定制化,关于如何配合以及有哪些属性,网上有很多教程,这里不做解释了(最近该库闹出了漏洞,大家都在填坑)。
需要注意的是: MyBatis
核心配置文件中的 configuration
标签下配置的标签是有顺序的 ,依次为:
-
properties(属性配置,本文后面会做配置,需要掌握)
-
settings(设置,需要掌握)
-
typeAliases(类型别名,需要掌握,能认识会用)
-
typeHandlers(类型处理器,了解即可)
-
objectFactory(对象工厂,了解即可)
-
plugins(插件,需要掌握,依赖一些插件的时候要求配置)
-
environments(环境配置,熟练掌握)
-
transactionManager(事务管理器)
-
dataSource(数据源)
-
environment(环境变量)
-
-
databaseIdProvider(数据库厂商标识)
-
mappers(映射器,熟练掌握)
properties标签
上节我们在 settings
标签中配置了驼峰命名映射:
<!-- 开启驼峰命名映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
这是截至目前接触到的 settings
标签里的两个配置,下面看 properties
标签,这是我们第一次接触。举个简单的例子你就知道它的作用了,还记得下面这段代码吗?
<!-- 开发环境 -->
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- mysql驱动-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- 指定数据库开放的端口、要连接的数据库名、编码方式-->
<property name="url"
value="jdbc:mysql://localhost:3306/mybatis_demo?useUnicode=true&characterEncoding=utf8"/>
<!-- mysql用户名-->
<property name="username" value="root"/>
<!-- mysql登录密码-->
<property name="password" value="root"/>
</dataSource>
</environment>
这里的 value
对应的值通过这种直接写死的方式很不友好,也是不推荐的,实际开发中是有专门的属性文件来管理这些值的,这就要用到 properties
标签了。
在 resources
目录下新建文件 db.properties