本系列是「深入浅出MyBatis:技术原理与实践」书籍的总结笔记。本篇是「深入浅出MyBatis」系列的最后一篇,主要介绍与Spring的集成,以及工作中的一些实用场景。介绍之前,先整体总结下该系列的内容和写作思路。MyBatis是一个框架,封装了数据库相关的操作,给我们开发人员带来了极大地便利,相对于Hibernate,有很大的灵活性和扩展性,在高并发高性能应用中,这点很重要。首先介绍了JDBC
分类:
编程语言 时间:
2018-05-07 13:49:53
阅读次数:
148
delete和truncate区别如下: 一、灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据; delete from table_test where ... truncate table table_test 二、效率:delete效率低于truncate,dele ...
分类:
数据库 时间:
2018-05-06 13:36:49
阅读次数:
157
一,子网划分概述1、为什么要划分子网?IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。2、IPv4子网划分与聚合为了解决IPv4的不足,提高网络划分的灵活性,诞生了两种非常重要的技术,那就是VLSM(可变长子网掩码)和CIDR(无类别域间路由)
分类:
其他好文 时间:
2018-05-06 01:27:54
阅读次数:
192
简单工厂设计模式 案例: 写一个计算器, 实现加减乘除. 第一步: 写一份简单的代码 这样做, 确实实现了简单的计算功能. 但是, 从面相对象的角度来考虑呢? 可维护性如何? 可扩展性如何? 可复用性如何?灵活性如何? ...
分类:
其他好文 时间:
2018-05-04 20:17:40
阅读次数:
116
上一篇介绍了反射和动态代理基础,主要是为本篇文章做个铺垫,反射使配置和灵活性大大提高,可以给很多配置设置参数,动态代理可以在运行时创建代理对象,做一些特殊的处理。本篇会介绍MyBatis解析和运行原理,下一篇介绍插件及应用,目的是更好地编写插件,通过本篇的介绍,你会了解到:构建SqlSessionFactory过程映射器的动态代理SqlSession的4大对象sql执行的过程SqlSessionF
分类:
其他好文 时间:
2018-05-04 11:54:19
阅读次数:
172
前三篇详细总结了Mybatis的基本特性、常用配置、映射器,相对于Hibernate,映射器的配置相对复杂,但有很好的灵活性和扩展性,可以应对各种业务场景。熟练掌握这些内容,可以流畅的使用MyBatis进行开发了。后面准备介绍MyBatis的解析和运行原理以及自定义插件,今天看了书籍的这部分,都会涉及到反射和动态代理这些基础,本篇文章总结下这些,便于理解原理。通过本篇的介绍,你会了解到:反射和动态
分类:
其他好文 时间:
2018-05-03 13:31:59
阅读次数:
188
VLAN(VlanLocalAreaNetwork,虚拟局域网)技术,可以从逻辑上将一个大的网络划分为若干个小的虚拟局域网,VLAN技术不仅能够控制广播,还可以增强网络的安全性。VLAN工作在OSI参考模型的数据链路层,一个VLAN就是一个交换网络,其中的所有用户都在同一个广播域中,各VLAN通过路由设备的连接实现通信。VLAN的优势 给局域网的设计增加了灵活性,使管理员在划
分类:
其他好文 时间:
2018-05-03 11:13:17
阅读次数:
167
本篇文章会向读者展示几个架构设计的关键点,使一个社交应用能够成为真正的下一代社交产品。以下几个属性将会影响到架构的设计: a)可用性 b)可扩展性 c)性能和灵活性可扩展 目标 a)确保用户的内容数据能够很方便的被其他用户发现和获取. b)确保内容推送是相关的,不仅在语义上,也是从用户设备的角度。 ...
分类:
其他好文 时间:
2018-05-03 10:27:03
阅读次数:
199
LVM(LogicalVolumeManager)称作是逻辑卷管理器,之所以称作为“卷”可能是因为可以将文件系统像卷一样伸长或缩短吧,它是Linux系统下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,提高了磁盘分区管理的灵活性。常用的LVM部署命令创建LVM的过程:1.使用fdisk工具在物理设备上创建物理分区,并调整系统标识符(systemID)成为8e(LVM的标识符
分类:
其他好文 时间:
2018-05-02 18:08:17
阅读次数:
162
c语言的指针的存在使得c语言对硬件的操控,以及灵活性得到了极大的提高。 但是指针的使用存在着很多难点问题。 这里我们先定义两个整型的变量a,b 然后再定义一个临时的指针变量,用来存储中间变量 然后将b的变量的内存地址赋值给t,注意这里 t 代表的是内存地址 然后把b的值给a,再用b接受t地址所存储的 ...
分类:
编程语言 时间:
2018-05-01 23:57:58
阅读次数:
334