什么是框架?
它是我们软件开发中的一套解决方案,不同的框架解决不同的问题
使用框架好处:
框架封装了很多细节,使开发者可以使用极简的方式实现功能,大大提高开发率
三层架构:
表现层:是用于展示数据的
业务层:是处理业务需求的
持久层:是和数据库交互的
MyBatis:持久层框架(Dao)
Spring:IoC(控制反转)和AOP(面向切面编程)
SpringMVC:表现层框架(Servlet、Jsp)
持久层技术解决方案
JDBC技术: Connection、PreparedStatement、ResultSet
Spring的JdbcTemplate: Spring中对jdbc的简单封装
Apache的DBUtils: 它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装
JDBC是规范
Spring的JdbcTemplate和Apache的DBUtils都只是工具类
MyBatis:
持久层框架,用JAVA编写
它封装了JDBC操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程
它使用了ORM思想实现了结果集的封装
ORM:
Object Relational Mapping 对象关系映射
把数据库表和实体类及实体类的属性对应起来
让我们可以操作实体类就实现操作数据库表
user User
id userId
user_name userName
实体类的属性与数据库表的字段名称保持一致
user User
id id
user_name user_name
Serializable:实体类序列化接口
把对象转换为字节序列的过程称为对象的序列化
把字节序列恢复为对象的过程称为对象的反序列化
当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化
mybatis的环境搭建
第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件
SqlMapConifg.xml
第四步:创建映射配置文件
IUserDao.xml
pom.xml:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>