`

MyBatis-Spring配置

 
阅读更多

 

spring 配置文件:

 

<?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" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       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 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
       <context:property-placeholder location="classpath:config.properties" />

       <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
              <property name="driverClassName"><value>${jdbc.driverClass}</value></property>
              <property name="url"><value>${jdbc.jdbcUrl}</value></property>
              <property name="username"><value>${jdbc.user}</value></property>
              <property name="password"><value>${jdbc.password}</value></property>
       </bean>
       <!-- SqlSessionFactory配置 -->
       <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
              <property name="dataSource" ref="dataSource" />
              <!--指定mybatis mapper xml路径-->
              <property name="mapperLocations" value="classpath*:com/app/config/mybatis/**/*Mapper.xml"/>
              <!--指定mybatis config xml路径-->
              <property name="configLocation" value="classpath:/mybatis-config.xml"></property>
       </bean>
<!--Mapper对象,相当于DAO-->
       <bean name="testUserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
               <!--它只是一个接口,具体的sql配在相应的TestUserMaper.xml中-->
              <property name="mapperInterface" value="com.app.test.dbt.mapper.TestUserMapper" />
              <property name="sqlSessionFactory" ref="sqlSessionFactory" />
       </bean>

<!--server服务,事务加到这上面-->
       <bean name="TestUserService" class="com.app.test.dbt.service.TestUserService">
              <property name="testUserMapper" ref="testUserMapper"/>
       </bean>
<!--事务管理器-->
       <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
              <property name="dataSource" ref="dataSource" />
       </bean>
  <!--事务配置-->
       <tx:advice id="txAdvice" transaction-manager="transactionManager">
              <tx:attributes>
                     <tx:method name="save*" propagation="REQUIRED" isolation="DEFAULT" />
                     <tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT" />
                     <tx:method name="insert*" propagation="REQUIRED" isolation="DEFAULT" />
                     <tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT" />
              </tx:attributes>
       </tx:advice>
       <aop:config>
              <aop:pointcut id="TransactionPointCut"
                            expression="execution(* com.app.test.dbt.service.*Service.*(..))" />
              <aop:advisor advice-ref="txAdvice" pointcut-ref="TransactionPointCut" />

       </aop:config>

</beans>

 

   mybatis config xml配置:

  mybatis-config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="defaultStatementTimeout" value="120"/>
                  <!--禁用本地缓存-->
        <setting name="localCacheScope" value="STATEMENT"/>

        
    </settings>
</configuration>

 

 

 

  Mapper sql配置:

    TestUserMapper.xml:

   

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.app.test.dbt.mapper.TestUserMapper">
    <insert id="insertUser" parameterType="com.app.test.dbt.entity.TestUserModel">
         INSERT INTO test_user (id, name) VALUES(#{id}, #{name})
    </insert>
    <delete id="deleteUser" parameterType="int">
        delete from test_user where id= #{id}
    </delete>
    <update id="updateName" timeout="20">
        update test_user set name=#{param1} where  id= #{param2}
    </update>
</mapper>

    

 

Mapper  接口:

  TestUserMapper.java

 

/**
*  方法名与上面的(TestUserMapper.xml) id一至
*  上面的Namespace == java包名+类名
*/
public interface TestUserMapper {
    public void insertUser(TestUserModel user);
    public void deleteUser(int userId);
    public int updateName(String name,int userId);
}

 

 

 service类:

  

  

public class TestUserService {
	 TestUserMapper testUserMapper;

    public TestUserMapper getTestUserMapper() {
        return testUserMapper;
    }

    public void setTestUserMapper(TestUserMapper testUserMapper) {
        this.testUserMapper = testUserMapper;
    }
	public void insertUser(){
        int initValue=1;
        int times = 10;
        for(int i=0;i<times;i++){
            TestUserModel testUserModel  = new TestUserModel();
            byte id = (byte)(initValue+i);
            testUserModel.setId(id);
            testUserModel.setName("me");
            this.testUserMapper.insertUser(testUserModel);
        }

    }
}

 

 

测试类:

  

 public static void main(String args []){
        ClassPathXmlApplicationContext classPathXmlApplicationContextTransaction = 
            new ClassPathXmlApplicationContext("classpath*:/test.xml");
        TestUserService testUserService = (TestUserService) 
         classPathXmlApplicationContextTransaction.getBean("TestUserService");
        testUserService.insertUser();
    }

 

 

 

分享到:
评论

相关推荐

    mybatis-spring-1.3.1.jar下载

    2. **配置集成**:在Spring的配置文件中,需要添加MyBatis-Spring的相关配置,包括SqlSessionFactory和MapperScannerConfigurer,以便让Spring知道如何初始化和管理MyBatis的相关组件。 3. **Mapper接口**:创建...

    mybatis-spring-1.31.jar

    这使得我们可以在Spring配置文件中声明式地管理MyBatis的相关组件,避免了手动创建和管理SqlSession对象的繁琐过程。 其次,MyBatis-Spring支持Spring的事务管理。它能够自动将MyBatis的操作纳入Spring的全局事务...

    mybatis-spring-1.3.3.jar官方下载

    它负责配置 MyBatis 的配置文件、环境信息、数据源等,并为 Spring 容器提供一个可以托管的 SqlSessionFactory 实例。 3. **MapperScannerConfigurer**:这个类用于扫描指定包下的 Mapper 接口,并自动将其注册到 ...

    mybatis-spring-1.3.0.jar 下载

    在具体使用时,我们需要在Spring的配置文件中添加MyBatis-Spring的相关配置,包括数据源、SqlSessionFactory和MapperScannerConfigurer等。例如: ```xml &lt;bean id="dataSource" class="org.springframework.jdbc....

    MyBatis整合Spring中间件jar包 mybatis-spring-1.3.0.jar

    在Spring配置文件中,我们需要定义一个`SqlSessionFactoryBean`,并指定数据源、MyBatis的配置文件路径等属性。例如: ```xml &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; ...

    mybatis-spring-1.2.0.jar

    3. **MapperFactoryBean**:用于配置MyBatis的Mapper接口,使它们可以在Spring应用中被当作bean使用。 4. **SqlSessionTemplate** 和 **SqlSessionScpoe**:提供线程安全的SqlSession实例,避免并发问题。 5. **...

    MyBatis-Spring配置教程,非常适合初学者

    【MyBatis-Spring配置教程】是一份专为初学者设计的教程,旨在帮助学习者快速掌握如何在Spring框架中整合并使用MyBatis。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而Spring则是一个...

    mybatis-spring-1.0.1-bundle.zip

    它扩展了 Spring 的 FactoryBean 接口,可以直接在 Spring 配置文件中声明,通过配置数据源、MyBatis 的配置文件等参数,轻松创建 SqlSessionFactory。 2. SqlSessionTemplate:这是一个线程安全的 SqlSession 实现...

    Mybatis-Spring-1.2.2中文文档.zip

    配置Spring的ApplicationContext时,需要添加Mybatis-Spring的相关bean,如SqlSessionFactoryBean和MapperScannerConfigurer。 3. **SqlSessionFactory配置** SqlSessionFactory是Mybatis的核心,负责创建...

    mybatis-spring-1.0.0中文参考手册

    ### MyBatis-Spring 整合知识点 #### 第一章:介绍 1. **什么是MyBatis-Spring?** - MyBatis-Spring是一个帮助开发者无缝整合MyBatis与Spring框架的工具库。通过使用该库提供的类,Spring能够加载必要的MyBatis...

    Mybatis-Spring 1.3.2 API中文版

    - Mybatis-Spring 提供了Spring Bean的配置方式,使得Mybatis的SqlSessionFactory和SqlSessionTemplate可以直接作为Spring的Bean注入到其他类中。 - 使用`&lt;mybatis-spring:sqlSessionFactory&gt;`和`&lt;mybatis-spring:...

    mybatis-spring-1.3.2.jar

    它允许你在 Spring 配置中设置 MyBatis 的配置文件、数据源以及其他相关属性,使得配置更加灵活。 2. **SqlSessionTemplate**: 它是线程安全的 SqlSession 实现,提供了与 MyBatis 的 SqlSession 接口相同的API,但...

    mybatis-3.4.1-all & mybatis-spring-1.3.0

    通过这个库,我们可以方便地在 Spring 应用中配置 MyBatis 数据源、SqlSessionFactory、MapperScannerConfigurer 等,使得 MyBatis 与 Spring 的协作变得更加无缝。 "mybatis-3.4.1.pdf"文件很可能是一个 MyBatis ...

    mybatis-spring-1.2.2

    这个库使得在 Spring 应用中使用 MyBatis 更加便捷,通过简化配置和提供自动化事务管理,提高了开发效率。下面我们将深入探讨 MyBatis-Spring 的核心概念、功能以及 1.2.2 版本中的关键特性。 1. **集成 MyBatis 和...

    mybatis-spring-1.3.2

    1. **自动扫描与配置**:MyBatis-Spring 可以自动扫描并配置 SqlSessionFactory 或 SqlSessionTemplate,无需在 Spring 配置文件中手动配置,简化了项目配置。 2. **事务管理**:MyBatis-Spring 提供了基于 Spring ...

    mybatis-spring-1.1.1-bundle

    只需在Spring配置文件中声明PlatformTransactionManager,MyBatis的SqlSession将在Spring的事务范围内自动打开和关闭,实现事务的一致性。 5. 示例应用 在mybatis-spring-1.1.1包中,通常会包含示例代码或者文档,...

    mybatis-spring-1.0.0-RC3-bundle

    在Spring的配置文件中,设置PlatformTransactionManager为全局事务管理器,即可实现对MyBatis操作的事务控制。 五、性能优化 MyBatis-Spring支持Spring的AOP代理,可以通过代理方式实现SqlSession的关闭和异常处理...

    mybatis-spring-1.3.1

    SqlSessionFactoryBean提供了配置数据源、配置MyBatis的配置文件路径等能力,使得SqlSessionFactory的创建过程完全在Spring的控制之下。 2. **MapperScannerConfigurer**: 这个类用于扫描应用中的Mapper接口,并...

    mybatis-spring整合jar包

    - 配置SqlSessionFactory:在Spring配置文件中定义SqlSessionFactoryBean,指定MyBatis的配置文件路径和数据源。 - 创建Mapper接口:根据MyBatis的XML映射文件创建对应的Mapper接口。 - 配置Mapper:使用...

    mybatis-spring-1.2.0.rar

    1. **自动扫描和配置**:它能自动扫描并配置 MyBatis 的 SqlSessionFactory 或 SqlSessionTemplate,使得在 Spring 环境中无需手动配置。 2. **MapperScannerConfigurer**:这个类允许开发者通过扫描特定包来找到并...

Global site tag (gtag.js) - Google Analytics