卢雨杰11.19
学习内容:
mybaits四大要素:
实体类,mapper接口,mapper.xml文件,mybaits的核心配置,
核心三大流程:
初始化阶段,读取xml配置文件和注解中的配置文件,创建配置对象并完成各个模块的初始化工作
代理阶段,封装ibaits的编程模型,使用mapper接口开发的初始化工作
数据读写阶段,完成sql的解析,参数的映射,sql的执行,结果的反射解析过程
Mybatis 与 JDBC 编程的比较
1.JDBC: 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问 题。 Mybatis: 在 SqlMapConfig.xml 中配置数据连接池,使用连接池管理数据库连接。
2.JDBC: Sql 语句写在代码中造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代 码。 Mybatis: 将 Sql 语句配置在 XXXXmapper.xml 文件中与 java 代码分离。
3.JDBC: 向 sql 语句传参数麻烦,因为 sql 语句的 where 条件不一定,可能多也可能少,占位符需要和参数对 应。 Mybatis: Mybatis 自动将 java 对象映射至 sql 语句,通过 statement 中的 parameterType 定义输入参数的类 型。
4.JDBC: /** * 查询总记录条数 * @return / int findTotal(); 1 2 3 4 5 select count() from userinfo; 1 2 3 4 @Test public void testFindTotal() throws Exception { //6.执行操作 int res = userDao.findTotal(); System.out.println(res); } 1 2 3 4 5 6 对结果集解析麻烦,sql 变化导致解析代码变化,且解析前需要遍历 Mybatis: Mybatis 自动将 sql 执行结果映射至 java 对象,通过 statement 中的 resultType 定义输出结果的类 型。
Mybatis 将它自己的数据源分为三类:
UNPOOLED 不使用连接池的数据源
POOLED 使用连接池的数据源
JNDI 使用 JNDI 实现的数据源
评论