初识Mybatis,您可太棒了
- 一. 什么是框架
-
- 框架的重要性
- Mybatis框架概述
- 二. 持久层技术解决方案
-
- JDBC程序回顾
- jdbc 问题分析
- 三. Mybatis入门
-
- mybatis环境搭建
- IDEA创建步骤
- 补充(基于注解的 mybatis 使用)
- 小结
这是学习Mybatis的第一天,冲冲冲!
一. 什么是框架
简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。
框架的重要性
框架一般处在低层应用平台(如 J2EE)和高层业务逻辑之间的中间层,框架封装了很多细节,使开发者可以用极简的方式开发功能,大大提高了开发效率。
框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。
为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的 MVC 软件设计思想就是很好的分层思想。
刚从javaweb上来的同学有必要了解一下三层架构在ssm框架中的对应关系:
Mybatis框架概述
mybatis是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
mybatis通过xml 或注解的方式将要执行的各种statement配置起来,并通过java对象和statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并 返回。
采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc进行了封装,屏蔽了 jdbc api 底层访问细节,使我 们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
ORM: object relational Mappging 对象关系映射
简单的说就是: 把数据库表实体类及实体类的属性对应起来,让我们操作实体类就实现操作数据库表.
实体类中的属性要和数据库表的字段名保持一致:
user User
id id
user_name user_name
二. 持久层技术解决方案
- JDBC技术:
connection
preparedStatement
ResultSet - spring的JdbcTemplate
Spring对jdbc的简单封装 - Apache的DButils
它和spring的JdbcTemplate很像,也是对Jdbc的简单封装
以上都不是框架:
JDBC是规范
spring的JdbcTemplate和Apache的Dbutils都是工具类
JDBC程序回顾
jdbc 问题分析
1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。
2、Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。
3、使用 preparedStatement 向占有位符 传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能 多也可能少,修改 sql 还要修改代码,系统不易维护。
4、对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维护,如果能将数据库记 录封装成 pojo 对象解析比较方便。
三. Mybatis入门
mybatis环境搭建
第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件
sqlMapconfig.xml
第四步:创建映射配置文件
IUserDao.xml
环境搭建的注意事项
第一个:创建IUserDao.xml和IUserDao.java是为了和我们之前的知识保持一致。
在Mybatis中把持久层的操作接口名称和映射文件也叫作:mapper
所以IUserDao和IUserMapper是不一样的
第二个:在idea中创建目录的时候,它和包是不一样的包在创建时,com.zzd.dao是三级结构,目录在创建时com.zzd.dao是一级目录。
IDEA创建步骤
- 创建Maven项目
- 在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下:
3.编写 User 实体类
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!