1. 什么是框架
- 框架是偷懒的程序员将代码进行封装, 之后进行重复使用的过程.
- 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用户名, 密码必须告知框架.
- 程序员在使用框架的时候,通常以配置文件的方式告知框架需要的信息,多数会使用 xml 作为框架的配置文件.
- 因此, 在使用框架开发代码时, 需要编写配置文件, 代码的编写反而会减少.
- 框架都是第三方提供的, 提供的都是jar包. 因此, 使用框架前, 必须将框架涉及的 jar 包导入项目中.
1.1 学习体系
1.2 学习路径
2 常见的 java 开发的框架
- MyBatis, ORM 框架, 底层是对 jdbc 进行了封装
- Spring, 是一个容器
- SpringMVC, 分层框架
- Struts2, 功能类似于 SpringMVC
- Hibernate, 功能类似于 MyBatis
3 MyBatis 框架简介
- MyBatis 是一个 ORM 框架, 用于操作数据库, 底层是对jdbc 进行的封装.
- MyBatis 的前身是 iBatis, 是 Apache 下的一个开源项目.
现在被迁移到了 GitHub 上.
中文网址:
http://www.mybatis.org/mybatis-3/zh/getting-started.html
MyBatis 各版本下载地址:
https://github.com/mybatis/mybatis-3/releases
4 MyBatis 环境搭建 jar 包详解
4.1 创建项目
java project
4.2 导入 jar 包
4.2.1 MyBatis 核心 jar
mybatis-3.2.7.jar
4.2.2 MyBatis 依赖的 jar
asm-3.3.1.jar
字节码解析包, 被 cglib 依赖cglib-2.2.2.jar
动态代理的实现
commons-logging-1.1.1.jar 日志包
javassist-3.17.1-GA.jar
字节码解析包
- log4j-1.2.17.jar日志包
- log4j-api-2.0-rc1.jar日志
- log4j-core-2.0-rc1.jar日志
- slf4j-api-1.7.5.jar 日志
- slf4j-log4j12-1.7.5.jar 日志
4.2.3 驱动 jar
mysql-connector-java-5.1.30.jar
5 MyBatis 核心配置文件
5.1 要求
是一个 xml 文件, 命名无要求, 位置无要求, 一般叫mybatis.xml, 放在 src 目录下.
5.2 mybatis约束(联网版)
<?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">
注:本地去找上下与之对应
5.3 mybatis约束(本地版)
5.4 mybatis.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> <!-- 用于指定使用哪个环境 default: 用于指定使用的环境id --> <environments default="dev"> <!-- 用于配置开发环境 id: 环境的唯一识别码 --> <environment id="dev"> <!-- 事务管理器 type: 用于设置mybatis采用什么方式管理事务 JDBC表示采用和JDBC一样的事务管理方式 --> <transactionManager type="JDBC"></transactionManager> <!-- 数据源/连接池, 用于配置连接池和数据库连接的参数 type: 用于设置mybatis是否采用连接池技术 POOLED表示MyBatis采用连接池技术 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/java505"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- 扫描mapper文件 --> <mappers> <mapper resource="com/mapper/UserMapper.xml" /> </mappers> </configuration>