MyBatis

什么是MyBatis

1.MyBatis是一个免费,开源的框架

2.MyBatis框架给企业级应用开发提供了一个持久化框架。MyBatis框架为三层架构的中间层的资源访问(数据访问)提供解决方法

3.MyBatis前身是iBatis

MyBatis与Hibernate比较*

1.Hibernate依赖于良好的数据库设计。MyBatis可不依赖与数据库设计,即使数据库设计不佳,也可以发挥效力。

2.从面向对象设计思想考量,hibernate比MyBatis好。

3.对数据库移植的支持,hibernate比MyBatis。

4.MyBtis更易学。

数据访问技术要做什么

数据库连接管理

1.配置获取数据库连接。
2.创建连接。
3.关闭连接。

执行SQL

1.增删查改等SQL
2.对于关系式数据库,ORM,包括表单时的ORM,多表联接时的ORM(1对多,多对1,多对多,1对1联系)

事务管理

1.开启事务
2.提交事务
3.回滚事务

异常处理
数据缓存

1.一级缓存:即在当前数据库连接内缓存。
2.二级缓存,数据库连接关闭后还缓存着。

ORM 对象-关系式映射

ORM=Object-Relational Mapping, 即java对象和关系式数据库我的映射,是对象的属性与表的字段的映射,包括对象映射到表,或反之,表映射到对象。

直接用JDBC如何访问数据

数据库连接管理

1.配置获取数据库的必要信息:在java文件中配置,或tomcat服务器的context.xml.

2.创建连接:DataSource.getConnection()或DriverManager.getConnection()

3.关闭连接:Connection.close()

执行SQL

1.增删查改等SQL:对应JDBC接口

2.ORM:
对应JDBC接口
对象映射到表:如PreparedStatement.setString();
表映射到对象:如ResultSet.getString();

3 事务管理
开启事务:数据库端自动开启。
提交事务:Connection.commit() ;
回滚事务: Connection.rollback();

4.异常处理
SQLException,是check异常

5.数据缓存
无数据缓存机制

MyBatis如何访问数据

1.数据库连接管理

配置获取数据库的连接的必要信息:mybatis-config.xml
创建连接:SqlSessionFactory.openSession()
关闭连接 :Session.close();

2.执行SQL

增删查改等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/>。会话结束缓存数据还在。

你可能感兴趣的:(java开发)