浅谈Mybatis(三)】的更多相关文章

一.动态SQL 1.sql片段 解决sql语句的冗余代码问题. <sql id="SELECT_T_USER"> select id,name,password,birthday </sql> <select id="queryUserById" resultType="User"> <include refid="SELECT_T_USER"/> from t_user whe…
浅谈C++三种传参方式 C++给函数传参中,主要有三种方式:分别是值传递.指针传递和引用传递. 下面通过讲解和实例来说明三种方式的区别. 值传递 我们都知道,在函数定义括号中的参数是形参,是给函数内专用的局部变量,意味着函数接收到的是实参的副本,如果形参的值在函数内部被改变,对实参是没有影响的. #include <iostream> using namespace std; void change(int formalNum) { formalNum = 0; cout << &…
一.MyBatis引言 1.基本概念 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github.MyBatis是一个持久层框架,完成是对数据库的访问和操作. 2.优点 解决了JDBC访问数据库过程中存在的问题,他是对原有JDBC技术的封装. a.大量的代码冗余. b.手工处理ORM. c.没有对访问数据进行优化(没有cach…
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis. 通过研究mybatis源码,可将mybatis的大致架构总结为下图: 1.根据Mybatis源码,将其抽象为三层:基础支持层,核心处理层和接口层 2.基础支持层包括:数据源.事务管理.日志.类型转换.缓存.Bind.解析器等 3.核心处理层包括:配置解析.配置映射.SQL解析.SQL执行.结果集映射.插件等 4.接口层主要提供JAVA API 在本…
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis. 通过研究mybatis源码,可将mybatis的大致架构总结为下图: 1.根据Mybatis源码,将其抽象为三层:基础支持层,核心处理层和接口层 2.基础支持层包括:数据源.事务管理.日志.类型转换.缓存.Bind.解析器等 3.核心处理层包括:配置解析.配置映射.SQL解析.SQL执行.结果集映射.插件等 4.接口层主要提供JAVA API 在本…
前言 最近开始了SpringBoot相关知识的学习,作为为目前比较流行.用的比较广的Spring框架,是每一个Java学习者及从业者都会接触到一个知识点.作为Spring框架项目,肯定少不了与数据库持久层的整合.我们在学习Java初始就被灌输SSM框架(Spring.SpringMVC.Mybatis),我们大概也只是知道Mybatis是与数据库打交道的,但这也只是名词上的理解. Mybatis具体是什么? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.My…
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中.如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为ord…
一.三种作用域 作用域:web开发中用于存储和获得数据. 1.request 一次请求有效,在forward跳转时可用request作用域传递数据. 2.session client不变,session不变.用于标记用户状态.存储用户数据.验证码.购物车等. 3.ServletContext web应用不变,ServletContext不变,ServletContext代表的是整个web应用.一般用于储存全web单例的重量级资源. ServletContext对象通过session获得,Serv…
学习三次握手和四次挥手前,先了解下几个基础的概念. Seq:数据段序号,我们都知道TCP是提供有序传输的,有序传输的基础就是数据段序号,接收方在收到发送方乱序包的情况下可以根据Seq进行重新排序,确保接收的数据是正常的. Len:数据段长度,数据段长度不包括TCP头部,就是TCP除头部以外的内容,比如涵盖的HTTP数据. Ack:确认号,即接收方向发送方确认自己收到的数据. 用wireShark来看看一个TCP传数据的过程图,认识下这几个概念. 除了如上几个概念外,在截图中的方括号内还有SYN.…
好了,真正做开发也差不多一年了.一直都是看别人的博客,自己懒得写,而且也不会写博客,今天就开始慢慢的练习一下写博客吧.前段时间刚好在公司遇到这样的问题. 一.举例说明 select * from user where name = "dato"; select * from user where name = #{name}; select * from user where name = '${name}'; 一般情况下,我们都不会注意到这里面有什么不一样的地方.因为这些sql都可以…