软件框架
软件框架是一种通用的、可复用的软件环境,提供特定的功能,促进软件应用、产品和解决方案的开发工作。包含支撑程序、编译器、代码、库、工具集以及API。
形象比喻:建筑框架。
当代主流的框架
- Spring框架:开源框架,解决企业应用程序复杂性。分层框架,为POJO对象提供企业级的服务。
- Sprin MVC框架:是一个web开发的框架,理解为Servlet。MVC中担任控制器。
- My Batis框架:Apache的开源项目iBatis,持久层的框架。
- Spring Cloud框架:一系列框架的有序集合,为开发人员构建微服务框架提供了完整的解决方案,利用Spring Boot 的开发,简化分布式系统。
MyBatis
1.什么是MyBatis
MyBatis是一个支持普通SQL查询、存储过程及高级映射的持久层框架,它消除了几乎所有JDBC代码和参数的手动设置及结果集的检索,使用简单的XML或注解进行配置和原始映射,将接口和java的POJO映射成数据库中的记录。
2.ORM框架工作原理
MyBatis框架是一个ORM(对象关系映射)框架。ORM为了解决面向对象与关系型数据库中数据类型不匹配的技术,通过描述Java对象与数据库之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。
MyBatis环境搭建
步骤:
1、创建工程:
文件建立
resource–配置文件
pom.xml–核心配置文件
2、引入相关依赖;
首次依赖需要联网
3、数据库准备;
CREATE DATABASE mybatis;
4、编写数据库连接信息配置文件;(不能动的叫xx.properties)
这个适用于新版本的sql
样例
driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/world?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
user = root
password = 123456
5、编写核心配置文件和映射文件;
通过properties 标签把刚创建的db.properties引入到myBatis的环境中,蓝色的部分为配置数据库的连接参数,来自于引入进来的db.properties文件。通过语法${}properties中配置key来引入这个key对应的值。
依赖包
在pom.xml添加依赖包
<dependencies>
<!-- 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.2</version>
</dependency>
<!-- mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
<scope>runtime</scope>
</dependency>
</dependencies>
配置文件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">
<configuration>
<!-- 引入外部db.properties-->
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>