标题 第一章初始Mybatis
为什么需要框架技术?
优势如下:
不用再考虑公共问题,框架已经帮我们做好了
可以专心于业务逻辑,保证核心业务逻辑的开发质量
结构统一,便于学习和维护
框架中集成了前人的经验,可以帮助新手写出稳定,性能优良而且结构又没的高质量程序
框架的概念
框架(Framework)是一个可重用的公共结构的半成品,它为我们构建新的应用程序提供了极大的便利。一方面提供了可以拿来就用的工具,更重要的是,提高了可重用的设计
如何更快更好地写简历?
使用word简历模板
使用模板有什么好处?
不用考虑布局,排版等,提高效率。
可专心在简历内容上
结构统一便于人事阅读
新手也可以作出专业的简历
框架技术
是一个应用程序的半成品
提供可重用的公共结构
按一定规则组织的一组组件
分析优势
不用再考虑公共问题
专心在业务实现上
结构统一易于学习,维护
新手也可以写出好程序
主流框架介绍
Struts2
MVC设计模式的实现
拦截器
可变和可重用的标签
HIbERNATE
ORM,简化数据库操作
Dao层
Spring
依赖注入容器/Aop实现
声明式事务
简化Java EE应用
黏合剂,将大家组装到一起
Spring MVC
结构最清晰的MVC Mode12实现
高度可配置,支持多种视图技术
定制化开发
MyBatis
半自动化的ORM实现
Dao层
动态SQL
小巧灵活,简单易学
MyBatis框架的优点
与JDBC相比,减少50%以上的代码量
Hibernate框架
Hibenate是一个优秀的持久化框架,负责将对象数据保存到数据库中,或从数据库中读取数据并封装Dao对象的工作,
Hibernate通过简单配置和编码即可代替JDBC繁琐的程序代码
Hibernate已经成为当前主流的数据库持久化框架,被广泛应用
SpringMvc
StringMVC是String框架提供的构建Web应用程序的全功能MVC模块,属于StringFrameWork的后续产品,
已经融合在String Web Flow里面,是结构最清晰的MVC Model2的实现,并且拥有高度可配置性,支持多种视图技术;还可以进行定制化开发相当灵活
持久化与ORM
持久化是程序数据在瞬时状态和持久状态间转换的过程
数据持久化概念
数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。
例如,文件的存储,数据的读取等都是数据持久化操作。数据墨香可以使任何数据结构或对象模型,存储类型可以是关系模型,XML,二进制流等
ORM(Object Relational Mapping)
编写程序的时候,以面向对象的方式处理数据
保存数据的时候,却以关系型数据库的方式存储
ORM解决方案包括下面四个部分
在持久化对象上执行基本的增删改查操作
对持久化对象提供一种查询语言或者API
对象关系映射工具
提供与实务对象交互,执行检查,延迟加载以及其他优化功能。
ORM特点:
基于SQL语法,简单易学
能了解底层封装过程
SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度
方便程序代码调试
Mybatis环境搭建
1.下载需要的jar文件
https://github.com/mybatis/mybatis-3/releases
MyBatis依赖包中文件说明
名称 说明
asm_3.3.1.jar 操作java字节码文件
cglib-2.2.2.jar 多态继承java类或实现接口
commons-logging-1.1.1.jar 日志处理
javassist-3.17.1-GA.jar 分析,编辑和创建java字节码的类库
log4j-1.2.17.jar 日志系统
slf4j-api-1.7.5.jar 日志系统的封装,对外提供统一的API接口
mybatis-config.xml文件的几个常用元素的作用如下:
configuration:配置文件根元素
properties:通过resource属性从外部指定properties属性文件
(database.properties),该属性描述数据库连接的相关配置(数据库驱动,连接数据库的url,数据库用户名,数据库用户名,数据库密码),位置也是在、resources目录下
setting:设置Mybatis运行中的一些行为,比如此处设置Mybatis的log日志实现为LOG4J,即使用log4j实现日志处理
environments:
表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上,该元素节点不可以配置多个enviroment子元素节点,但是必须指定其中一个默认运行环境(通过default指定)
enviroment:配置MyBatis的一套运行环境,需要制定运行唤醒ID,事务管理,数据源配置等相关信息
mappers:作用是告诉MyBatis去哪里找到SQL映射文件(该文件内容是开发者定义的映射SQL语句),整个项目可以有1个或多个SQL映射wenjian
mapper:mappers的子元素节点,具体指定SQL映射文件的路径,其中resource属性的值表述了SQl映射文件的路径(类资源路径)
创建持久化类(POJO)和SQL映射文件
持久化类是指其实例状态需要被MyBatis持久化到数据库中的类。持久化类通常是业务实体类
创建测试类
public void Test(){
//读取全文配置
String resource=“configuration.xml”;
InputStream is=Resources.getResourceAsStream(resource);
//创建SqlSessionFactory对象,此对象可以完成对配置文件的读取
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
int count=0;
//创建·SqlSession对象,此对象的作用是调用mapper文件进行数据操作,需要注意的是必须先把mapper文件引入到mybatis-config.xml中才能生效
SqlSession sqlSession=null;
sqlSession=factory.openSession();
count=sqlSession.selectOne(“entity.UserMapper.count”);
//关闭SqlSession对象
sqlSession.close();
}
MyBatis的核心对象
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
mybatis-config.xml系统核心配置文件
mapper.xml sql映射文件