Mybatis优点
- myBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
- sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml|标签,支持编写动态sql
例1-只用JDBC,不用Mybatis的情景
当只用jdbc时(MySQL - JDBC介绍),依然需要在UserDaoImpl实现类的方法中,写出实际的sql语句,再用Connection和PrepareStatement进行增删改查的操作,再手动获取结果集.
jdbc例子:
例2-使用了Mybatis的情景
接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件。这里的UserMapper.xml实际上就是UserDao的实现类。
为什么需要Mybatis
写一个简单的Mybatis程序
1-搭建环境,导入依赖
2-编写mybatis-config.xml核心配置文件
3-定义工具类,获取SqlSessionFactoryBuilder,SqlSessionFactory, SqlSession
SqlSession包含了所有增删改查的方法,就类似于Mysql里PrepareStatement类,做同样的事情。
三者关系:SqlSessionFactoryBuilder vs SqlSessionFactory vs SqlSession
4-编写代码
4.1-实体类
对应的数据库表是:
因此pojo的类也是同样的三个属性:
4.2-Dao接口
4.3-接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件
这里的UserMapper.xml实际上就是UserDao的实现类。
5-测试
写接口即可。