1、什么是框架?它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题使用框架的好处:框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。
2、三层架构
表现层:是用于展示数据的
业务层:是处理业务需求
持久层:是和数据库交互的
3、持久层技术解决方案
JDBC技术:ConnectionPreparedStatementResultSetSpring的JdbcTemplate:Spring中对jdbc的简单封装Apache的DBUtils:它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装以上这些都不是框架JDBC是规范
Spring的JdbcTemplate和Apache的DBUtils都只是工具类4、mybatis的概述
mybatis是一个持久层框架,用java编写的。
它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程。
它使用了ORM思想实现了结果集的封装。ORM:
Object Relational Mappging 对象关系映射
简单的说:就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表。
user    User
id  userId
user_name   userName我们需要做到
实体类中的属性和数据库表的字段名称保持一致。user          Userid          iduser_name     user_name
5、mybatis的入门mybatis的环境搭建第一步:创建maven工程并导入坐标第二步:创建实体类和dao的接口第三步:创建Mybatis的主配置文件SqlMapConifg.xml第四步:创建映射配置文件IUserDao.xml环境搭建的注意事项:第一个:创建IUserDao.xml 和 IUserDao.java时名称是为了和我们之前的知识保持一致。在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper所以:IUserDao 和 IUserMapper是一样的第二个:在idea中创建目录的时候,它和包是不一样的包在创建时:com.itheima.dao它是三级结构目录在创建时:com.itheima.dao是一级目录第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名当我们遵从了第三,四,五点之后,我们在开发中就无须再写dao的实现类。mybatis的入门案例第一步:读取配置文件第二步:创建SqlSessionFactory工厂第三步:创建SqlSession第四步:创建Dao接口的代理对象第五步:执行dao中的方法第六步:释放资源注意事项:不要忘记在映射配置中告知mybatis要封装到哪个实体类中配置的方式:指定实体类的全限定类名mybatis基于注解的入门案例:把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。明确:我们在实际开发中,都是越简便越好,所以都是采用不写dao实现类的方式。不管使用XML还是注解配置。但是Mybatis它是支持写dao实现类的。6、自定义Mybatis的分析:mybatis在使用代理dao的方式实现增删改查时做什么事呢?只有两件事:第一:创建代理对象第二:在代理对象中调用selectList自定义mybatis能通过入门案例看到类class Resourcesclass SqlSessionFactoryBuilderinterface SqlSessionFactoryinterface SqlSession            

MyBatis_1 简介相关推荐

  1. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  2. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  3. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  4. TensorRT简介

    TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...

  5. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

  6. 通俗易懂的Go协程的引入及GMP模型简介

    本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...

  7. Linux 交叉编译简介

    Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...

  8. TVM Operator Inventory (TOPI)简介

    TOPI简介 这是 TVM Operator Inventory (TOPI) 的介绍.TOPI 提供了比 TVM 具有更高抽象的 numpy 风格的,通用操作和调度.TOPI 如何在 TVM 中,编 ...

  9. 计算机视觉系列最新论文(附简介)

    计算机视觉系列最新论文(附简介) 目标检测 1. 综述:深度域适应目标检测标题:Deep Domain Adaptive Object Detection: a Survey作者:Wanyi Li, ...

最新文章

  1. 初学Python,我给你总结了常见的17个错误
  2. Microsoft Dynamics CRM4.0 Data Auditing and Restore (数据审核和恢复)
  3. 时间管理——被忽视的重要理念!
  4. hamming weight_popcount或者hamming weight(二进制1的个数问题)
  5. Angular里使用createEmbeddedView的单步调试
  6. 使用Prometheus发现在Kubernetes上运行的应用程序
  7. linux之父子进程的输出
  8. 简单使用CXF实现webserver(rs的独立发布)
  9. tf.train.Coordinator和tf.train.start_queue_runners
  10. 04 16 团队竞技(第二场) 赛后总结
  11. Linux基础知识之包管理工具
  12. elasticdump 数据导入导出
  13. jersey子资源api使用和源码分析
  14. 安装光盘并重新启动计算机戴尔,戴尔电脑怎么设置光盘启动
  15. Buuctf 神秘龙卷风
  16. c语言 tls单向认证 验证证书,使用wireshark观察SSL/TLS握手过程--双向认证/单向认证...
  17. BZOJ 2037 [Sdoi2008] Sue的小球
  18. 如何才能高效的学习编程语言(分享)
  19. 主流的企业级虚拟化解决方案
  20. 喵星球上的点名——记一个用广义SAM根号维护多串的技巧

热门文章

  1. dedemodule.class.php,DEDECMS5.7模块/模块管理列表显示空白问题解决方法
  2. PTA 三足鼎立 (lower_bound()+upper_bound())
  3. 中国剩余定理及其拓展
  4. [CodeJam 2021 Round 3] Square Free(调整法 / 字典序最小解网络流)
  5. P7044-[MCOI-03]括号【组合数学】
  6. YbtOJ#20068-[NOIP2020模拟赛B组Day5]连通子图【构造】
  7. 【DP】【记忆化搜索】NIKOLA(jzoj 1150)
  8. 反向传播算法学习笔记
  9. Java 并发总结——高并发与同步锁
  10. 汇编语言(九)之十六进制数值转二进制