j d b c缺点
1. 数据库连接,使用时就创建,不使用立即释放。对数据库进行频繁连接开启与关闭,造成数据库资源浪费,影响数据库性能。
设想:使用数据库连接池管理数据库连接
2. 将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于维护。
设想:将sql语句配置在xml文件中,即使sql变化,不需要对java代码j进行重新编译。
3. 向preparedstatement中设置参数,对占位符位置和设置参数值,硬编码在java代码中,不利于维护。
设想:将sql语句以及占位符和参数全部配置在xml中
4.从resultset中遍历结果数据时,存在硬编码,将获取表的字段进行硬编码,不利于维护。
设想:将查询的结果集,自动映射成Java对象
mybatis 可以将向preparedStatement中输入的参数自动进行输入映射。
将查询结果灵活映射成Java 对象()输出映射.
SqlMapConfig.xml(mybatis全局配置文件),配置数据源、事务等运行环境。
mapper.xml 配置映射文件
SqlSessionfactory (会话工厂) 作用:根据配置文件创建SqlSession
SqlSession(会话)作用:操作数据库(发出sql增、删、改、查)
Executor(执行器) 作用:SqlSession内部通过执行器操作数据库
MappedStatement(底层封装对象)作用:对操作数据库存储封装,包括sql语句、输入参数、输出结果类型。输入/输出类型包括:Java 简单类型、hashmap、pojo自定义
网友评论