MyBatis
三层架构
三层对应的包
- 界面层:controller包(servlet)
- 业务逻辑层:service包(XXXService类)
- 数据访问层:dan包(XXXDao类)
三层中类的交互
用户使用界面层==》业务逻辑层==》数据访问层(持久层)==》数据库(mysql)
三层对应的处理框架
- 界面层-----servlet-----springmvc(框架)
- 业务逻辑层-----service类------spring(框架)
- 数据访问层------dao类--------mybatis(框架)
MyBatis 定义
一个框架,早起叫做ibatis,代码在github上。
mybatis 是MyBatis SQL Mapper Framework for Java (sql映射框架)
- sql mapper:sql 映射 可以把数据库表中的一行数据映射为一个Java对象,一行数据可以看作是一个Java对象,操作这个对象,就相当于操作表中的数据
- Data Access Objects (DAOs):数据访问,对数据库执行增删改查
mybatis提供了哪些功能:
-
提供了创建Connection,Statement,ResultSet的能力,不用开发人员创建这些对象了
-
提供了执行sql语句的能力,不用你执行sql
-
提供了循环sql,把sql的结果转为Java对象,List集合的能力
while(rs.next()){ Student stu = new Student(); stu.setId(rs.getInt("id")); stu.setName(rs.getString("name")); stu.setAge(rs.getInt("age")); //从数据库取出数据转为Student对象,封装到List集合 List.add(stu); }
-
提供了关闭资源的能力,不用你关闭Connection,Statement,ResultSet
mybatis 的小结
是一个sql映射框架,提供的数据库的操作能力,增强的JDBC,使用mybatis让开发人员集中精力写sql就可以了,不必关心Connection,Statement,ResultSet的创建、销毁、sql的执行。