| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 框架 mybatis -> 正文阅读 |
|
[Java知识库]框架 mybatis |
一、框架 框架( Framework )是构成一类特定软件可复用设计的一组相互协作的类。框架规 定了你的应用的体系结构。 它定义了整体结构,类和对象的分割,各部分的主要责任,类 和对象怎么协作,以及控制流程。框架预定义了这 些设计参数,以便于应用设计者或实现 者能集中精力于应用本身的特定细节。 软件系统发展到今天已经很复杂了,特别是服务器 端软件,涉及到的知识,内容,问题太多。在某些方面使 用别人成熟的框架,就相当于让 别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且 框架一般 是成熟,稳健的,他可以处理系统很多细节问题,比如,事务处理,安全性,数据流控制等 问题。还有 框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不 断升级的,你可以直接享受别人升 级代码带来的好处。 二、ORM: 将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对 数据库的操作转化为对对象的操 作。因此ORM的目的是为了方便开发人员以面向对象的思 想来实现对数据库的操作。 三、JDBC问题: ①、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库 链接池可 解决此问题。 ②、Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大, sql 变动需要改变 java代码。 ③、使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能 少,修改 sql 还 要修改代码,系统不易维护。 ④、对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维 护,如果能将数据库记录封装成 pojo 对象解析比 较方便,没有实现实体类到数据库记录 的映射。 ⑤、没有提供缓存功能。 四、Mybatis相关介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 MyBatis 是一款优秀的持久层框架,它支持 SQL、存储过程以及高级映射。 如 JDBC 中 我们需要有繁琐的流程,和设置参数,并且获取结果集的时候也需要循环遍历,并且手动封装 到实体类对 象中 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 它内部封装了 jdbc,使开发者只需要关 注 sql 语句本身, 而不需要花费精力去处理加载驱 动、创建连接、创建 statement 等繁杂的过程。 MyBatis 可以使用 简单的 XML 或注解来 配置和映射 接口和 Java 的 实体类 MyBatis 有两种用法,一个是注解,一个是XML,各有千秋 Mybatis特性: 1、使用连接池对链接进行管理 2、SQL和代码分离,几种管理 3、参数映射和动态SQL 4、结果集映射 5、缓存管理 6、重复SQL的提取 7、插件机制 五、使用场景 : 操作持久化层(Dao),和JDBC一样,操作数据库的 当我们要写动态页面(jsp)和用户进 行交互的时候,就需要操作数据库。 六、Mybatis与Hibernate的区别 形象举例 : mybatis:机械工具,使用方便,拿来就用,但工作还是要自己来作,不过工具是活 的,怎么使用,由我决定。 hibernate:智能机器人,但研发它(学习、熟练度)的成本很高,工作都可以拜托给他 了,但仅限于它能做的事 七、Mybatis入门 第一步: 创建t_user表 第二步: 创建lib文件夹导入相应jar文件 ①log4j ②mysql ③mybatis 第三步: 创建User实体类 第四步: 导入 log4j.properties 、jdbc.propertie文件 第五步: 创建mybatis-config.xml
第六步: 创建UserMapper.xml
第七步: 创建Mybatis Test
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:17:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |