MyBatis 本是apache 的一个开源项目 iBatis, 2010 年这个项目由apache software foundation 迁移到了google code,并且改名为 MyBatis 。2013 年 11 月迁移到Github。
MyBatis 解决的主要问题减轻使用JDBC 的复杂性,不用编写重复的创建Connetion , Statement ; 不用编写关闭资源代码。
直接使用java 对象,表示结果数据。让开发者专注 SQL 的处理。 其他分心的工作由MyBatis 代劳。
MyBatis 可以完成:1. 注册数据库的驱动,例如Class.forName(“com.mysql.jdbc.Driver”))
2. 创建JDBC 中必须使用的 Connection , Statement, ResultSet 对象
3. 从xml 中获取sql,并执行sql 语句,把ResultSet 结果转换java 对象
List<Student> list = new ArrayLsit<>();
ResultSet rs = state.executeQuery(“select * from student”);
while(rs.next){
Student student = new Student();
student.setName(rs.getString(“name”));
student.setAge(rs.getInt(“age”));
list.add(student);
}
4. 关闭资源
ResultSet.close() , Statement.close() , Conenection.close()
MyBatis特点- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件 配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。
看视频学习mybatis是很多小伙伴都用的学习方法,网上众多的MyBatis视频让大家看得眼花缭乱,不知该如何选择,推荐动力节点王妈妈讲的MyBatis,真的是史上最细的教程,资料也分享给大家,点下边链接:
http://www.bjpowernode.com/?toutiao
MyBatis在线学习:
https://www.bilibili.com/video/BV185411s7Ry