- jar包的依赖:
除了spring与MyBatis各自的jar包外,还应当导入:
1、spring-jdbc.jar包,版本号应与spring-webmvc的版本号一致(直接将webmvc改为jdbc即可);
2、mybatis-spring.jar包,注意版本号;
3、数据库的jdbc驱动jar包以及数据库连接池的jar包;
二、配置文件及步骤:
1. 完成web.xml以及spring.xml基础配置之后,我们应创建一个xx.properties的配置文件用于保存数据库连接的配置;
2. 配置完properties文件后,则在spring.xml文件中利用<util:properties>将之读取出来,并给其id属性赋值,方便后续使用;
3. 将配置文件读取后应当把配置数据交给数据库连接池管理,我们使用的是Apache的commons-dbcp,则对应的数据源是BasicDataSource类,所以在spring.xml文件中利用<bean id=”dateSource” class=”org.apache.commons.dbcp.BasicDataSource”>把数据应用到数据源即数据库连接池;
4. 完成以上配置,先利用单元测试Junit在Java程序中获取与数据库的连接,如果能够正常连接,则配置无误,如无法获取连接,检查以上配置是否有误;
5. 数据库连接配置完成后,要使用MyBatis管理持久层还应当创建接口,并声明数据访问的抽象方法,配置与抽象方法对应的XML映射,即配置xxxMapper.xml文件,xxxMapper.xml存放路径应在src/main/resource下的mappers文件夹中,便于管理xml文件名应与对应接口名称一致;
6. 在xml文件内部创建根节点<mapper namespace=”.......”>,该节点必须配置名为namespace的属性,属性值是对应的Java接口,比如:cn.tedu.mybatis.mapper.UserMapper;
7. 使用各级子节点配置与抽象方法的对应关系,子节点名称的选取,取决于要执行的操作的类型,例如要执行的数据操作是insert类型,则使用`<insert>`节点,这些节点都必须指定id属性,属性值是与之对应的抽象方法的方法名,id应该是唯一的,所以在接口中不应出现方法重载;在`<insert>`节点中,添加`parameterType`属性,用于指定参数的类型,即抽象方法中的参数类型;最后,在节点内部,编写需要执行的SQL语句,执行SQL语句时的参数值均使用`#{}`类似的语法
8. 完成以上配置后,回到spring.xml配置文件,首先,配置SqlSessionFactoryBean,通过它指定数据源与XML映射的文件位置,例如:
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="数据源bean的ID" />
<property name="mapperLocations" value="classpath:mappers/*.xml" />
</bean>
注意:以上配置中,XML映射文件的位置使用了mappers/*.xml,即:在`mappers`文件夹下的所有XML文件都应该是MyBatis的xml映射文件,所以,不可以在这个文件夹中存放其它XML文件。
- 配置`MapperScannerConfigurer`,用于指定接口文件的路径,例如:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.tedu.mybatis.mapper" />
</bean>
- 以上配置完成后,利用Junit完成单元测试,如能成功操作数据库的数据,这代表配置成功;操作失败,请仔细检查以上步骤是否配置正确。