
MyBatis笔记
蒟蒻...
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
映射文件-insert、update、delete
1.insert:在标签内写inser的sql语句 配置文件: <insert id="addEmp" parameterType="cn.it.mybatis.bean.Employee"> INSERT INTO tbl_employee(last_name,gender,email) VALUE(#{lastName},#{gender},#{email}) ...原创 2019-04-04 17:37:40 · 390 阅读 · 0 评论 -
全局配置文件-environments
environments:MyBatis可以配置多种环境,通过default指定使用某种环境,可以达到快速切换环境 如图可以修改为test环境 子标签:environment:配置一个具体的环境,里面必须有两个标签。id表示当前环境的唯一标识 transactionManager:事务管理器 ...原创 2019-04-03 16:31:59 · 413 阅读 · 0 评论 -
全局配置文件-typeAliases
typeAliases:别名处理器,可以为我们的java类型起别名(别名不区分大小写) 1.typeAlias 用法: <typeAliases> <!-- typeAlias:为某个java起别名 type:指定要起别名的类的全类名,默认别名就是类名小写,这里就是employee alias:要起的别名 --> <typeA...原创 2019-04-02 22:20:14 · 591 阅读 · 0 评论 -
全局配置文件-properties
MyBatis可以使用properties标签来引入外部的properties配置文件的类容: properties标签有两个属性: 1.resource:引入类路径下的资源 2.url:引入网络路径或者磁盘路径下的资源 测试:引入外部的dbconfig.properties文件 dbconfig.properties: jdbc.driver=com.mysql.cj.jdbc.D...原创 2019-04-02 21:48:58 · 623 阅读 · 0 评论 -
MyBatis的扩展应用
1.PageHelper分页插件 pagehelper文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md 使用方法参照文档 2.MyBatis的批量操作 1.使用动态sql,拼接大量sql语句,进行操作。 缺点:如果操作量非常大,可能导致数据库不能接受很长的sql语句...原创 2019-04-11 17:32:23 · 415 阅读 · 0 评论 -
MyBatis插件开发
插件原理 四大对象在创建时 每一个创建出来的对象不是直接返回的,而是调用了interceptorChain.pluginAll()方法 调用方法获取到所有的Interceptor(拦截器),(插件需要实现的接口) 插件机制,可以使用插件为目标对象创建一个代理对象,面向切面的编程方式(AOP) 插件编写 1.编写Interceptor的实现类 MyFirstPlug...原创 2019-04-11 14:55:33 · 251 阅读 · 0 评论 -
MyBatis缓存机制
MyBatis中有两级缓存 ①一级缓存(本地缓存) 在与数据库同一次会话期间,查询到的数据会放到本地查询中 以后如果需要获取相同的数据,直接从缓存中拿,不需要再次去查询数据库 一级缓存的体验: 测试代码: @Test void cache_1() throws IOException { SqlSessionFactory sqlSessionFactory = getSq...原创 2019-04-07 22:48:36 · 211 阅读 · 0 评论 -
MyBatis的原理(源码分析)
分析MyBatis原理用hello world分析 步骤4步: 获取SqlSessionFactory对象 获取SqlSession对象 获取接口的代理对象(MapperProxy) 执行增删改查方法 1.获取SqlSessionFactory对象 创建流程图: 总结:就是把配置文件信息解析并保存在Configuration对象中,返回包含了Configuration的De...原创 2019-04-11 14:00:10 · 302 阅读 · 0 评论 -
动态SQL
动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。 1、if <if test=""></if> test:判断表达式(OGNL表达式) OGNL用法可以参照官方文档进行使用:http://commons.apache.org/proper/commons-ognl...原创 2019-04-07 19:05:41 · 260 阅读 · 0 评论 -
映射文件-select(关联查询-多个对象)
使用场景: 在查询部门信息的时候,将该部门的所有员工信息也查询出来 环境搭建: Department类: package cn.it.mybatis.bean; import java.util.List; public class Department { private Integer id; private String deptName; private List&l...原创 2019-04-05 23:02:13 · 632 阅读 · 0 评论 -
映射文件-select(关联查询-仅一个对象)
使用场景: 比如:查询员工信息的同时也要查询出该员工信息的部门信息(同样是一个javaBean) 环境搭建: Employee类: package cn.it.mybatis.bean; import org.apache.ibatis.type.Alias; @Alias("emp") public class Employee { private Integer id; p...原创 2019-04-05 19:34:23 · 695 阅读 · 0 评论 -
映射文件-select
1.select返回一个List集合 在映射文件中配置返回List集合的方法的sql映射 resultType:依旧是写需要封装的javaBean,而不是写List集合 <!--public List<Employee> getEmplsNameLike(String lastName); --> <select id="getEmplsN...原创 2019-04-05 16:50:21 · 313 阅读 · 0 评论 -
参数处理
1.一个参数:MyBatis不会做特殊处理 使用#{参数名},取出参数 2.多个参数:MyBatis会做特殊处理 如果还使用使用#{参数名},取出参数的话会出现异常 异常信息: 因为MyBatis的特殊处理,将参数封装成了一个map key=param1,param2......paramN value=传入的参数值 取出参数的操作: #{param1},#{...原创 2019-04-04 20:40:13 · 244 阅读 · 0 评论 -
全局配置文件-settings
settings:MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 具体的属性参考MyBatis官方文档:http://www.mybatis.org/mybatis-3/zh/configuration.html#settings 1.mapUnderscoreToCamelCase:是否开启自动驼峰命名规则(camel case)映射 ...原创 2019-04-03 16:51:57 · 752 阅读 · 0 评论