zoukankan      html  css  js  c++  java
  • mybatis使用

    1.应用分析与最佳实践

    讲师:青山

    时长:1h8min

    Date:4/10/2020 8:52-9:30

    前提知识:

           设计模式,spring相关

    适合人群:

           掌握mybatis基本用法,深入了解mybatis

           掌握mybatis核心特性,想用好mybatis

         

    1.1.为什么要用mybatis

    Mybatis是用来简化数据库连接及增删查改操作的一个开源框架。

    我们java里面操作数据库,底层是使用Jdbc.

    1.1.1.jdbc连接数据库

    步骤如下:

    1.注册驱动,获致连接Connection

    2.创建Statement对象

    3.execute()执行sql

    4.把结果集转换成pojo对象

    5.关闭资源

    思考:

    当项目较大,直接使用原生api会带来什么问题?

    》代码大量重复

    》结果集处理太复杂,麻烦

    》连接管理不方便

    》sql语句硬编码

           我需要关闭资源,如果忘记关闭,可能造成数据库服务异常。

           我们对数据库的业务逻辑,与资源管理是耦合在一起的,对开发非常不利。

           为了解决这些问题,出现一框架,如:

    Mybatis,hibernate,spring-jdbc,

    Apache DbUtils

           >QueryRunner

           >ResultSetHandler

    它主要解决了结果集封装问题。它支持不同数据源:c3p0, jdbc,druid,hikari

    Spring-jdbc:

    >实现RowMapper接口,mapRow()方法

    》转换结果集Object

    方法的封装,是通过jdbcTemplate完成。

    资源管理 ----注入数据源dataSource

    结果集处理---RowMapper---重写mapRow

    总结:

           以上工具,解决了一些问题:

    》方法封装

    》支持数据源

    》映射结果集

           没解决的问题:

    1.sql语句硬编码

    2.参数只能顺序传入【占位符的方式】

    3.没有实现实体类到数据库记录的映射

    4.没有提供缓存等功能

    2.体系结构与工作原理

    3.插件原理及spring集成

    4.手写mybatis

    1.1.2.Orm框架

  • 相关阅读:
    国家行政区划地区编码表
    Java循环中标签的作用(转)
    通过ribbon 根据服务名获取所有服务实例的IP和端口列表
    rabbitmq重装依赖的erlang 要注意
    Rabbitmq关于集群节点功能的读书笔记
    CentOS7统计某个进程当前的线程数
    理解同步、异步、阻塞、非阻塞(传送门)
    代理模式和装饰模式区别
    【转载】Asp.Net生成图片验证码工具类
    【转载】使用宝塔Linux面板屏蔽某些IP访问你的服务器
  • 原文地址:https://www.cnblogs.com/wfdespace/p/12671620.html
Copyright © 2011-2022 走看看