Apache Felix 进行web 开发 怎么和spring mvc 和 mybatis 整合
发布网友
发布时间:2022-05-02 03:10
我来回答
共1个回答
热心网友
时间:2023-10-09 06:42
在J2EE领域,Hibernate与Mybatis是大家常用的持久层框架,它们各有特点,在持久层框架中处于领导地位。
本文主要介绍Mybatis(对于较小型的系统,特别是报表较多的系统,个人偏向Mybatis),对于它,个人比较喜欢的是:
使用简单、方便;
支持的XML动态SQL的编写,方便浏览、修改,同时降低SQL与应用程序之间的耦合。
不喜欢的是:
出现错误时,调试不太方便
本文主要介绍Mybatis的搭建,是学习Mybatis过程后整理的札记,其中包括“单独搭建Myts”和常用的“Mybatis与Spring的整合”。
一、数据库的准备
因为Mybatis是持久层框架,毫无疑问,是需要操作数据库的。所以,在搭建之前,我们需要先创建一个简单的表。
SQL - DDL - Create Table
插入一些数据,以作查询的测试。
SQL - DML - Insert table
二、单独搭建Myts
1)环境准备、版本说明
此工程使用JDK1.6 + mybatis-3.2.4 + Oracle11g。
新建一个Web工程,由于只构建Mybatis,只引用Mybatis和Oracle JDBC驱动包
mybatis-3.2.4.jar
ojdbc6.jar
2)程序的搭建
首先,我们将数据源等配置信息放在一个xml,让Mybatis可以根据这个信息去连接数据库、管理事务。
目前我们可只关注environments节点,此节点是用于配置数据源、事务管理的 。
其他的节点,如typeAliases、mappers,是用于注册一些信息的,后面会陆续提到。
mybatis-config.xml
既然有了配置的xml,下一步就需要让Mybatis加载它了。
首先以输入流的形式加载xml
以“SqlSessionFactoryBuilder -> SqlSessionFactory -> SqlSession”的流程最后构建出SqlSession。
SqlSession,顾名思义,是一次会话,是应用程序与数据库交互的会话,所以,其生命周期应在一次数据库连接之间,当然,此次数据库连接可以包含一次或多次数据库操作。
SqlSessionFactory,顾名思义,是SqlSession的工厂类,用于产出SqlSession。我们知道,SqlSession主要用于数据库操作,而数据库操作又是贯穿于应用程序整个生命周期当中的,那么,"产出SqlSession"这个动作也应当贯穿于应用程序整个生命周期当中,所以,SqlSessionFactory的生命周期一般为应用程序的整个生命周期,一般为单例/static的形式存在。
SqlSessionFactoryBuilder,由代码可见,其主要作用是从配置文件中获取配置信息,然后构建SqlSessionFactory,所以其生命周期可以是临时的,局部的。
通过SqlSession获取UserMapper接口,再调用该接口的数据操纵方法。