spring整合mybatis

    科技2022-07-10  168

    Spring整合mybatis

    导入jar包

    1 导入mybatis相关的jar包

    mybatis-3.5.5.jarasm-7.1.jarcglib-3.3.0.jarcommons-logging-1.2.jarjavassist-3.27.0-GA.jarlog4j-1.2.17.jarlog4j-api-2.13.3.jarlog4j-core-2.13.3.jarognl-3.2.14.jarslf4j-api-1.7.30.jarslf4j-log4j12-1.7.30.jar 2 导入mybatis整合spring相关的jar包(重要)mybatis-spring-2.0.4.jar 3 spring相关的jar包spring-beans-5.2.7.RELEASE.jarspring-context-5.2.7.RELEASE.jarspring-core-5.2.7.RELEASE.jarspring-expression-5.2.7.RELEASE.jarspring-jdbc-5.2.7.RELEASE.jarspring-tx-5.2.7.RELEASE.jarspring-aop-5.2.7.RELEASE.jar 4 数据库驱动jar包mysql-connector-java-5.1.48.jar

    创建一个普通的java项目

    创建spring的配置文件applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > </beans>

    注意:这里需要添加context命名空间,用来解析下面的properties文件

    配置解析 properties 文件

    添加 db.properties 文件

    jdbc.driver=com.mysql jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/数据库名字 jdbc.username=连接数据库用户名 jdbc.password=连接数据库密码

    在applicationContext.xml文件里面添加以下内容

    配置数据源-----mysql

    <!--配置数据源--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="url" value="${jdbc.url}"/> <property name="driverClassName" value="${jdbc.driver}"/> </bean>

    配置 SqlSessionFactoryBean

    <!--配置 SqlSessionFactoryBean--> <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.bjsxt.pojo"/> <property name="mapperLocations" value="com/bjsxt/mapper/*.xml"/> </bean>

    SqlSessionFactoryBean 是初始化 Mybatis 框架的 Bean 对象。它是生产 SqlSessionFactory 的一种工厂 Bean。在 Spring 整合 Mybatis 中,我们可以不需要 Mybatis 的配置文件,在该 Bean 对象中可以完成对 Mybatis 框架的配置。 配置 SqlSessionTemplate

    <!--配置 SqlSessionTemplate--> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactoryBean"/> </bean>

    配置业务层依赖

    接口实现类

    public class UsersServiceImpl implements UsersService { private SqlSessionTemplate sqlSessionTemplate; public SqlSessionTemplate getSqlSessionTemplate() { return sqlSessionTemplate; } public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) { this.sqlSessionTemplate = sqlSessionTemplate; } }

    配置业务层

    <!--配置业务层--> <bean id="usersService" class="com.bjsxt.service.impl.UsersServiceImpl"> <property name="sqlSessionTemplate" ref="sqlSessionTemplate"/> </bean>

    总结

    到这里。我们就可以在业务层使用SqlSessionTemplate对象去获取mapper对象。然后进行相应的业务操作。这个写法比较麻烦,后面我会以注解的方式来整合。

    // UsersMapper是一个和xml映射的接口 UsersMapper usersMapper =this.sqlSessionTemplate.getMapper(UsersMapper.class); usersMapper.insertSelective(users);
    Processed: 0.009, SQL: 8