1.MyBatis是一个免费,开源的框架
2.MyBatis框架给企业级应用开发提供了一个持久化框架。MyBatis框架为三层架构的中间层的资源访问(数据访问)提供解决方法
3.MyBatis前身是iBatis
1.Hibernate依赖于良好的数据库设计。MyBatis可不依赖与数据库设计,即使数据库设计不佳,也可以发挥效力。
2.从面向对象设计思想考量,hibernate比MyBatis好。
3.对数据库移植的支持,hibernate比MyBatis。
4.MyBtis更易学。
1.配置获取数据库连接。
2.创建连接。
3.关闭连接。
1.增删查改等SQL
2.对于关系式数据库,ORM,包括表单时的ORM,多表联接时的ORM(1对多,多对1,多对多,1对1联系)
1.开启事务
2.提交事务
3.回滚事务
1.一级缓存:即在当前数据库连接内缓存。
2.二级缓存,数据库连接关闭后还缓存着。
ORM=Object-Relational Mapping, 即java对象和关系式数据库我的映射,是对象的属性与表的字段的映射,包括对象映射到表,或反之,表映射到对象。
1.配置获取数据库的必要信息:在java文件中配置,或tomcat服务器的context.xml.
2.创建连接:DataSource.getConnection()或DriverManager.getConnection()
3.关闭连接:Connection.close()
1.增删查改等SQL:对应JDBC接口
2.ORM:
对应JDBC接口
对象映射到表:如PreparedStatement.setString();
表映射到对象:如ResultSet.getString();
3 事务管理
开启事务:数据库端自动开启。
提交事务:Connection.commit() ;
回滚事务: Connection.rollback();
4.异常处理
SQLException,是check异常
5.数据缓存
无数据缓存机制
配置获取数据库的连接的必要信息:mybatis-config.xml
创建连接:SqlSessionFactory.openSession()
关闭连接 :Session.close();
增删查改等SQL:Mapper.xml
ORM (通过映射文件的配置完成映射)
对象映射到表:
parameterType和内联参数(lnLine parameters)
例如带#参数,insert into singer(name,rank) values(#{name},#{rank})
表映射到对象:
a > resultType
b >若表字段名与对象属性名不一致,可用resultMap或给字段起别名。
c >多表联接,要用resultMap,1对1联系用association,1对多用collection。
1.开启事务:MyBatis不显式地开启事务,数据库端自动开启。
2.提交事务:Session.commit();
3.回滚事务:Session.rollback();
PersistenceException,是运行时异常
1.一级缓存:默认开启。数据缓存在当前会话内,会话结束缓存失效。
2.二级缓存,在xml映射文件加上< cache/>。会话结束缓存数据还在。