推荐学java——MyBatis高级

本文深入探讨MyBatis的高级特性,包括配置文件标签、动态SQL、缓存机制、PageHelper插件和注解开发。讲解了日志管理、typeAliases、动态SQL-if、where和choose标签的使用,以及一级和二级缓存的概念。建议读者通过实践来加强理解和应用。
摘要由CSDN通过智能技术生成

补两张知识导图

最近的两篇文章《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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是主要的开源应用程序开发框架,它使得Java/J2EE开发更容易、效率更高。本书不仅向读者展示了Spring能做什么?而且揭示了Spring完成这些功能的原理,解释其功能和动机,以帮助读者使用该框架的所有部分来开发成功的应用程序。本书涵盖Spring的所有特性,并且演示了如何将其构成一个连贯的整体,帮助读者理解Spring方法的基本原理、何时使用Sping以及如何效仿最佳实践。所有这些都以完整的样本应用程序来举例说明。读完本书,读者将能够有效地在各种应用中(从简单的web应用程序到复杂的企业级应用程序)使用Spring。 作者:(美)约翰逊 译者:蒋培 Rod Johnsn是Spring框架的创始人,并且是Java和J2EE领域的著名专家。   Rod获悉民大博士位。他具有C/C++开发背景,从Java和J2EE发布以来就作为开发者、休系结构设计者和顾问涉足了Java和J2EE领域。   他撰写了两本最普及并最有影响力的J2EE书籍:《Expert One-on-one J2EE Design and Deuelo Pment》(Wrox,2002),和《J2EE without EJB》(Wrox,2004.与Juergen Hoelle合著)。这两本书在“敏捷J2EE的兴起和心变过度复杂的传统J2EE体系结构方面都起了得要作用。   Rod是Spring框架的共同领导之一。他的发言很受欢迎,并且经常出现在美国、欧洲和亚洲举行的Java重要活动中。了是一些JSR的专家组的成员,为Java社区发展计划(Java Community Process,JCP)EBTL。   他还具有在银行和金融、保险、软件、媒体等领域从事顾问的广泛经验。他是Interface21的CEO,Interface21是一家致力于提供专家级J2EE和Spring框架服务的咨询公司。他各极参与客户项目和Spring开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值