1、什么是框架?
它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。
使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率.。
2、三层架构
表现层: 是用于展示数据的
业务层: 是处理业务需求
持久层: 是和数据库交互的
3、持久层技术解决方案
JDBC技术:
Connection
PreparedStatement
ResultSet
Spring的JdbcTemplate:
Spring中对jdbc的简单封装
Apache的DBUtils:
它和Spring的JdbcTemplate很像
以上这些都不是框架
JDBC是规范
Spring的JdbcTemplate和Apache的DBUtils都只是工具类
4、mybatis的概述
mybatis是一个持久层的框架,用java编写的。
他封装了jdbc操作的细节,使开发者只须关注sql本身,而无需关注注册驱动,创建连接等繁杂过程。它使用了ORM思想实现了结果集的封装。
ORM:
Object Relational Mapping 对象关系映射
简单的说:
就是把数据库表和实体类及实体类的属性对应起来,
让我们可以实现操作实体类就操作数据库表。
实体类中的属性和数据库表的字段名称保持一致。
5、mybatis的入门案例
新建一个maven项目
创建好项目之后,我们首先应该来配置pom.xml文件
我们至少需要把mybatis的依赖包和数据库(这里我用mysql)连接的包通过maven导进来。
导包完成后,接下来是配置xml文件:
从 XML 中构建 SqlSessionFactory
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
在根目录下的src/main/resources下新建一个xml文件:
这里要根据你数据库的连接池来写
然后要写一个实体类,实体类的属性要和数据库字段一一对应。然后给字段加上get()set()方法,在项目里根据需要可以重写equals(),hashCoed()方法和构造函数等。
sql语句,创建数据库表格。
数据库表
在src/main/resources下新建一个mapper包,用来存放配置文件。
接下来写配置文件里的内容:
先往数据库表里添加内容。
接下来我们就需要写java代码了
单击方法名test1(),右击run as --> JUnit Test 单独运行方法。
发现一个报错。
经检查发现是映射配置文件错了。
修改
之后再运行
数据库表格中也有了数据。
总结mybatis流程
1、建一个mybatis-config.xml的配置文件 -> 怎么连接数据库? mapper映射文件路径。
2、创建一个实体类,对应数据库中的一张表,用来将表中的数据反向生成一个实体类对象
3、创建一个映射文件mapper,用来执行增、删、改、查,并跟实体类对象关联起来
4、创建一个SqlSessionFactory对象,用来读取解析mybatis-config.xml文件
创建好数据库连接池、解析mapper中的sql语句等
5、从sqlsessionFactory中获取一个sqlSession对象, 通过这个对象实现数据库的持久化操作