经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
Mybatis小结
来源:cnblogs  作者:我想回家  时间:2018/10/9 10:15:43  对本文有异议

Mybatis

Mybatis的介绍

  1. 1. Mybatis是持久层层框架,是半ORM(对象关系映射)框架.
  2. 2. 使用Mybatis有两类配置文件
  3. * 核心配置文件: mybatis-Config.xml
  4. * 映射配置文件: 与接口相对应的xml文件
  5. 3. 核心的API:
  6. * SqlSessionFactoryBuilder : 构建者模式
  7. * SqlSessionFactory : 工厂模式
  8. * SqlSession
  9. 4. 执行的流程
  10. 1. 读取配置文件
  11. 2. 使用SqlSessionFactoryBuilderbuilder方法获取SqlSessionFactory
  12. 3. 使用sqlSessionFactoryopenSession方法获取SqlSession
  13. 4. 使用sqlSessiongetMapper方法获取接口的代理对象
  14. 5. 测试方法即可
  15. 5. 了解Mybatis底层使用的知识点:
  16. * 反射
  17. * 构建者模式,工厂模式,代理模式
  18. * xml配置文件的相关操作

Mybatis的基本开发

  1. 1. 规范:
  2. * xml配置文件中的namespace与接口的全限定类名相同.
  3. * 动态标签的id与接口的方法名一致
  4. * xml的配置文件和接口的包名与接口名一致
  5. 2. sql语句的写法:
  6. * $ : 字符串拼接符,简单数据类型使用${value},复杂类型就是${属性}
  7. * # : 占位符
  8. 3. 插入的主键返回:
  9. <selectKey keyProperty="" keyColumn="" resultType="" order="AFTER">
  10. select LAST_INSERT_ID()
  11. </selectKey>
  12. 4. 动态sql:
  13. 1. <sql id=""></sql> : sql片段
  14. 2. <if test=""> : if判断
  15. 3. <where> : 添加条件,自动添加 where 1 = 1并且去掉拼接条件后的第一个and
  16. 4. <foreach collection="" open="" close="" item="" separator=""> : 遍历集合
  17. 5. sql的输入输入参数的传递:
  18. * 输入参数: parameterType
  19. * 输出参数: resultType, resuleMap
  20. 6. 核心配置文件:
  21. * <properties> : 加载外部properties资源文件
  22. * <typeAlises> : 起别名
  23. * <mappers> : 加载映射的xml配置文件
  24. * <enviroments> : 配置数据库的连接信息
  25. 1. 事务 : JDBC事务
  26. 2. 连接池 :
  27. * POOLED : 连接池
  28. * UNPOOLED : 每次创建新的
  29. * JNDI
  30. 3. mybatis默认是不自动提交的,可以在openSession中传入true开启自动提交
  31. 7. 关联查询(一对多,多对多)
  32. * 使用resultMap来进行相关的查询:
  33. 1. <association javaType=""> : 单个pojo
  34. 2. <collection ofType=""> : 集合
  35. 8. 延迟加载(需要在核心配置文件中开启延迟加载的开关)
  36. 9. Mybatis的缓存:
  37. * 一级缓存: sqlSession
  38. * 二级缓存: sqlSessionFactory(需要开启二级缓存的开关)
  39. 10. 注解开发:
  40. * @Insert
  41. * @Select
  42. * @Update
  43. * @Delete
  44. * @Results
  45. * @Result
  46. * @ResultMap
  47. * @One
  48. * @Money
  49. * @CacheNamespace
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号