-
框架技术的优势
- 不用考虑公共问题
- 可以专心于业务逻辑,保证业务逻辑的开发质量
- 结构统一,便于学习和维护
- 帮助新手写出稳定、性能优良而且结构优美的高质量程序
-
框架的概念
框架(framework)是一个提供了可重用的公共结构的半成品。
-
主流框架的介绍
Struts2框架
Struts2是以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个整洁基于MVC设计模式实现的Web应用程序框架
新框架特性:从逻辑中分离出横切关注点的拦截器,减少或者消除配置文件,贯穿整个框架的强大表达式语言,支持可变更和可重用的基于MVC模式的标签API等
Hibernate框架
Hibernate框架是一个优秀的持久化框架,负责简化将对象数据保存到数据库中,或者重数据库中读取数据并封装到对象的工作。
Hibernate通过简单配置和编码即可替代JDBC烦琐的程序代码
Spring框架
Spring也是一个开源框架。它的目标是使现有的JavaEE技术更容易使用和促进良好的编程习惯。它是一个轻量级的框架,渗透了JavaEE技术的方方面面。
它主要作为依赖注入容器和AOP实现存在,还提供了声明式事物,对DAO层的支持等简化开发的功能。
SpringMVC框架
SpringMVC框架是Spring框架提供的构建Web应用程序的全功能MVC模块,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,是结构最清晰的MVC Model2的实现
MyBatis框架
MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。
-
Mybatis介绍及其环境搭建
数据持久化的概念
数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称
框架及ORM
- Mybatis框架简介
Mybatis是一个开源的数据持久层框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询,存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置及结果集的检索。MyBatis作为持久层框架,其主要思想是将其程序中的大量SQL语句剥离出来,在配置文件中,实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,可以在不修改程序代码的情况下,直接配置文件中修改SQL。
- 什么是ORM
ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。它在对象模型和关系型数据库之间建立对应关系,并提供了一种机制,通过JavaBean对象去操作数据库表中的数据
- Mybatis环境搭建
- 下载jar包
mybatis-3.2.2.zip(Mybatis的jar)
mybatis-3-mybatis-3.2.2.zip(Mybatis源码包)
2.部署jar包
3.编写Mysatis核心配置文件 configuration.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="database.properties"></properties>
<settings>
<setting name="logImpl" value="LOG4J" />
</settings>
<environments default="smbms_environments">
<environment id="smbms_environments">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/xw/dao/provider/ProviderMapper.xml"/>
</mappers>
</configuration>
mybatis-config.xml文件的几个常用元素作用
configuration:配置文件的根元素节点
properties:通过resource属性从外部指定properties属性文件(database.properties),该属性文件描述数据库连接的相关配置,位置也在/resouorces目录下
settings:设置MyBatis运行中一些行为,比如此处设置Mybatis的log日志实现为LOG4J,及使用log4j实现日志功能
environments:表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上,该元素节点可以配置多个environment子元素节点,但是必须指定一个默认的运行环境(通过default指定)
environment:配置Mybatis的一套运行环境,需指定运行环境id,事物管理,数据配置源等相关信息
mappers:告诉MaBatis去哪里找到SQL映射文件
mapper:mappers的子元素节点,具体指定SQL映射文件路径
4.创建实体类POJO
5.创建DAO接口
6.创建SQL映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xw.dao.provider.ProviderMapper">
<select id="getProviderCount" resultType="int">
SELECT COUNT(1) FROM `smbms_provider`;
</select>
</mapper>
7.编写测试类
1.读取配置文件
String resource = “mybatis-config.xml”;
InputStream is = Resources.getResourceAsStream(resource);
2.创建SqlSessionFactory对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
3.创建SQLSession对象
Int count = 0;
SqlSession session = null;
Session=factory.openSession();
Count = session.selectOne(“com.xw.dao.provider.ProviderMapper. getProviderCount”);
Logger.debug(“ProviderMappereTest count”+count)
4.关闭SQLSession对象
session.close();