MyBatis(1)什么是MyBatis
一:简单介绍MyBatis
1.1、什么是Mybatis
MyBatis是一款优秀的持久层框架
它支持定制化SQL、存储过程以及高级映射。
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和Java的 PO]o(Plain Old Javaobjects,普通老式Java对象)为数据库中的记录。
1.2、持久化数据持久化
·持久化就是将程序的数据在持久状态和瞬时状态转化的过程·内存:断电即失
·数据库(Jdbc),io文件持久化。。生活:冷藏.罐头。
为什么需要需要持久化?
·有一些对象,不能让他丢掉。·内存太贵了
1.3、持久层
Dao层,Service层,Controller层.....
完成持久化工作的代码块
层界限十分明显。
1.4为什么需要Mybatis?
帮助程序猿将数据存入到数据库中。方便
●传统的JDBC代码太复杂了。
●简化。框架。自动化。不用Mybatis也可以。更容易上手。技术没有高低之分优点:
●简单易学。灵活
●sql和代码的分离,提高了可维护性。
●提供映射标签,支持对象与数据库的orm字段关系映射。提供对象关系映射标签,支持对象关系组建维护。
●提供xml标签,支持编写动态sql。
二:第一个MyBatis
1.创建一个maven项目
2.添加依赖包
3.创建一个模块
·编写mybaits的核心配置文件(environment表示环境这里加s表示配置多个环境;transactionManager事务管理,这里默认的是jdbc;剩下就是Source属性)
这里注意:以前&在这里必须用&有转义层& (这个就是mybatis-config.xml配置文件)
编写mybatis工具类:目的连接mybatis-config.xml文件然后得出SqlSession对象
sqlSessionFactory.openSession()返回的就是SqlSession对象 这样就能连接住数据库了
4.编写代码
实体User类
Dao接口:
接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件UserDao.xml:
测试:
注意点:我们的UserDao.xml还没有注册到我们的mybatis的xml(mybatis-config.xm)中
MapperRegistry。
MapperRegistry是什么?
核心配置文件中注册mappers(我们的每个xml都要注册到mybatis的xml中)
补充一个知识:maven由于她的约定大于配置,我们之后可能遇到我们的写的配置文件,无法被导出或者生效的问题,解决方案(就我们打包的时候xml不能够生成到java中):
测试:我们的junit的依赖就是用来测试:
可能遇到的问题:
1.配置文件没有注册
2.绑定接口错误
3.方法名不对
4.返回类型不对
5.Maven导出资源问题