三层架构:

表现层:用于展示数据

业务层:处理业务需求

持久层:和数据库交互的

3.持久层技术解决方案:

JDBC技术:

Connecction

PreparedStatement

ResultSet

Spring的JdbcTemplate

APACHE的Dbutils

以上都不是框架,

JDBC是规范

Spring中的JDBCTEMPLATE和Apache中的DBUtils都只是工具类

4.mybatis的概述

mybatis是一个持久层框架,用java编写

它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程

它使用orm思想思想了结果集的封装

ORM:

Object Relateional Mappging 对象关系映射

简单来说:

就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表

5.mybatis的入门

mybatis的环境搭建





导入mybatis的依赖



接下来创建mybatis的主配置文件



再继续创建映射配置文件



环境搭建的注意事项

第一个:创建IUserDao.xml和IUser.java名称为了和之前的知识保持一致。

在mybatis中它把持久层的操作接口和映射文件也叫做:Mapper

所有:IUserDao和IUserMapper是一样的

第二个:在idea创建目录的时候,和包是不一样的

包在创建时:com.itheima.dao它是三级结构

目录com.ithema.dao是一级结构

第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同

第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名

第五个:映射配置文件的操作配置,id属性的取值必须是dao接口的方法名

当我们遵守第三,四,五之后,开发中就不需要再写dao的实现类(方便快捷)

mybatis的入门案例



第一步:读取配置文件

第二步:创建SqlSessionFactory工厂

第三部:创建SqlSession

第四步:创建Dao接口的代理对象

第五步:执行dao中的方法

第六步:释放资源

注意事项:

不要忘记再映射配置中告知mybatis要封装到哪个实体类中

配置方式:指定实体类的全限定类名

二.mybatis基于注解的入门案列

把IUserDAO.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句

同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类





明确:

我们在实际开发中,都是越简便越好,所有都是采用不写dao实现类的方式

mybatis框架学习第一天的更多相关文章

  1. MyBatis框架之第一篇

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.201 ...

  2. Struts2框架学习第一章——Struts2概述

    本章要点 —  Web应用的发展 —  Model 1和Model 2 —  MVC思想 —  MVC模式的优势 — 常用MVC框架及其特征 —  Struts 1的基本结构及其存在的问题 —  We ...

  3. 03 Mybatis框架---学习笔记1--框架的概念及优势

    1.框架的概念 框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统.简单说就是使用别人搭好的舞台,你来做表演.而且,框架一般是成熟的,不断升级的软件.框架是我们软件开发中的一套解决方 ...

  4. mybatis框架学习:

    一.什么是框架 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能 大大提高开发效率 二.三层框架 表现层: 用 ...

  5. scrapy框架学习第一天

    今天是学习的第一天: 知识总结如下: 1,调试器相当于原料出口地(URL提供) 2,scrapy相当于中间加工商(具有销售权利)封装URL为request(请求) 3,下载器使用request(请求) ...

  6. hibernate框架学习第一天:hibernate介绍及基本操作

    框架辅助开发者进行开发,半成品软件,开发者与框架进行合作开发 Hibernate3Hibernate是一种基于Java的轻量级的ORM框架 基于Java:底层实现是Java语言,可以脱离WEB,在纯J ...

  7. Artech的MVC4框架学习——第一章初步认识ASP.NET MVC

    前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...

  8. Mybatis框架学习总结-Mybatis框架搭建和使用

    Mybatis介绍 Mybatis是一个支持普通SQL查询,存储过程,和高级映射的优秀持久层框架.Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.Mybatis可以使 ...

  9. Mybatis框架学习1:入门

    一框架介绍 1.Mybatis介绍 ​ MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c ...

随机推荐

  1. flink-cdc读取postgres报异常,没有发布表

    异常信息 must be superuser to create FOR ALL TABLES publication 必须是超级用户才能为所有发布表创建 网上搜索了一天,都毫无头绪,后面搜索到了一个 ...

  2. html原生js实现99乘法表

    原生的js实现99乘法表实现选择下拉框颜色,改变背景颜色为选中的颜色 <!DOCTYPE html> <html> <head> <meta charset= ...

  3. 浅析IOC 和 DI

    学习过spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  4. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  5. Python+Selenium学习笔记2 - 字符串

    跟着网络课程学了几个小程序. 1.判断a字符串是否为b字符串的子串 1 # coding = utf-8 2 3 # 判断str_a字符串是否为str_b字符串的子串 4 5 str_a = &quo ...

  6. 状压dp(总结)状态压缩

    状压这个和二进制分不开关系 所以,对于二进制的熟悉是必不可少的技能 &  与操作,1不变,0变0 |  或操作,0不变,1变1 ^  异或操作,0不变,1取反 - 取反操作,把每一个二进制位0 ...

  7. GraphX编程指南

    GraphX编程指南 概述 入门 属性图 属性图示例 图算子 算子摘要列表 属性算子 结构化算子 Join算子 最近邻聚集 汇总消息(a​​ggregateMessages) Map Reduce三元 ...

  8. nvJPEG Codec库

    nvJPEG Codec库 nvJPEG库是高性能的GPU加速库,用于解码,编码和转码JPEG格式的图像.nvJPEG2000库用于解码JPEG 2000格式的图像.与单CPU解码相比,依赖nvJPE ...

  9. TVM vs TensorRT比较

    TVM vs TensorRT比较 如果理解正确的话,TensorRT和TVM会加快预测速度. TensorRT优化预测GPU和TVM优化预测几乎所有平台支持GPU,ARM,Mobile... 两者在 ...

  10. python小知识,sort和serted的区别

    列表对象sort()方法和内置sorted()函数的作用基本相同,但,不同的是sort会改变原有列表的顺序,而sorted不会 具体示例如下: """ create:20 ...