MyBatis

SSM即SpringMVC(Web) Spring(Service) Mybatis(dao)

MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码

MyBatis通过xml或注解的方式将要执行的各种statement(statement、prepareStatement、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回

为什么使用框架:

1存在硬编码问题 sql语句和java代码掺杂在一起

实际应用中sql变化的可能性较大,sql变动需要改变java代码

2使用preparedStatement向占位符传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护

3对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便

4数据库连接创建,释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题

 

配置文件

MyBatis配置文件

SqlMapConfig.xml  (核心的配置文件  包括连的哪个数据库,连哪个库,用户名是啥,练mysql还是Oracle这些等 是必须配置的)

 一个表对应一个mapper.xml文件

xml文件只写sql语句 不需要类了 而是通过xml来写

而多个表即多个xml文件怎么联系在一起 就需要通过核心配置文件来配置

SqlSessionFactory 对象(即sqlsession工厂对象) 可以生产sqlsession对象

sqlsession帮你执行sql (类似于QueryRunner对象)

 

上一篇:JDBC(重点)


下一篇:JDBC入门