Maven+Mybatis+Spring配置

第一步:配置pom.xml依赖
 
1.配置slfj+logback: 
Java代码  
<!-- Logging -->  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-api</artifactId>  
            <version>${org.slf4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>jcl-over-slf4j</artifactId>  
            <version>${org.slf4j.version}</version>  
            <scope>runtime</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-log4j12</artifactId>  
            <version>${org.slf4j.version}</version>  
            <scope>runtime</scope>  
        </dependency>  
        <dependency>  
            <groupId>log4j</groupId>  
            <artifactId>log4j</artifactId>  
            <version>1.2.15</version>  
            <exclusions>  
                <exclusion>  
                    <groupId>javax.mail</groupId>  
                    <artifactId>mail</artifactId>  
                </exclusion>  
                <exclusion>  
                    <groupId>javax.jms</groupId>  
                    <artifactId>jms</artifactId>  
                </exclusion>  
                <exclusion>  
                    <groupId>com.sun.jdmk</groupId>  
                    <artifactId>jmxtools</artifactId>  
                </exclusion>  
                <exclusion>  
                    <groupId>com.sun.jmx</groupId>  
                    <artifactId>jmxri</artifactId>  
                </exclusion>  
            </exclusions>  
            <scope>runtime</scope>  
        </dependency>  
        <dependency>  
            <groupId>ch.qos.logback</groupId>  
            <artifactId>logback-classic</artifactId>  
            <version>${logback.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>ch.qos.logback</groupId>  
            <artifactId>logback-core</artifactId>  
            <version>${logback.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>jcl-over-slf4j</artifactId>  
            <version>${org.slf4j.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>log4j-over-slf4j</artifactId>  
            <version>${org.slf4j.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>jul-to-slf4j</artifactId>  
            <version>${org.slf4j.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-api</artifactId>  
            <version>${org.slf4j.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
 
 
2.Spring配置: 
Java代码  
<dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${org.springframework.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
            <version>${org.springframework.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
        </dependency>  
 
 
3.Mybatis配置: 
Java代码  
<dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>3.0.5-SNAPSHOT</version>  
        </dependency>  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
            <version>1.0.0</version>  
        </dependency>  
 
另外还需要给mybatis加一个repository: 
Java代码  
<repository>  
            <id>mybatis-snapshot</id>  
            <name>MyBatis Snapshot Repository</name>  
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>  
        </repository>  
 
4.BoneCP数据源的依赖 
Java代码  
<dependency>  
            <groupId>com.jolbox</groupId>  
            <artifactId>bonecp</artifactId>  
            <version>0.7.1-rc2</version>  
        </dependency>  
        <dependency>  
            <groupId>com.jolbox</groupId>  
            <artifactId>bonecp-provider</artifactId>  
            <version>0.7.1-rc2</version>  
        </dependency>  
        <dependency>  
            <groupId>com.jolbox</groupId>  
            <artifactId>bonecp-spring</artifactId>  
            <version>0.7.1-rc2</version>  
        </dependency>  
 
还需要给BoneCP加一个repostory: 
Java代码  
<repository>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <id>bonecp-repo</id>  
            <name>BoneCP Repository</name>  
            <url>http://jolbox.com/bonecp/downloads/maven</url>  
        </repository>  
 
 
第二步:配置Spring
 
1.配置Datasource: 
Java代码  
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"  
    destroy-method="close">  
    <property name="driverClass" value="${jdbc.driverClassName}" />  
    <property name="jdbcUrl" value="${jdbc.url}" />  
    <property name="username" value="${jdbc.username}" />  
    <property name="password" value="${jdbc.password}" />  
    <property name="idleConnectionTestPeriod" value="0" />  
    <property name="idleMaxAge" value="240" />  
    <property name="maxConnectionsPerPartition" value="4" />  
    <property name="minConnectionsPerPartition" value="2" />  
    <property name="partitionCount" value="1" />  
    <property name="acquireIncrement" value="5" />  
    <property name="statementsCacheSize" value="100" />  
    <property name="releaseHelperThreads" value="3" />  
</bean>  
 
2.配置Mybatis: 
Java代码  
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
    <property name="dataSource" ref="dataSource" />  
</bean>  
  
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
    <property name="basePackage"  
        value="mybatis的Mapper的xml和Mapper包空间" />  
</bean>  
 
3.配置Mybatis: 
Java代码  
<tx:advice id="txAdvice" transaction-manager="transactionManager">  
    <tx:attributes>  
        <tx:method name="delete*" propagation="REQUIRED" read-only="false"  
            rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException" />  
        <tx:method name="insert*" propagation="REQUIRED" read-only="false"  
            rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException" />  
        <tx:method name="update*" propagation="REQUIRED" read-only="false"  
            rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException" />  
        <tx:method name="find*" propagation="SUPPORTS" />  
    </tx:attributes>  
</tx:advice>  
  
<aop:config>  
    <aop:pointcut id="pc" expression="execution(* *.*.*(..))" />  
    <aop:advisor pointcut-ref="pc" advice-ref="txAdvice" />  
</aop:config>  
 
这里需要AspectJ的Jar包,比较恶心的是aspectj没有maven支持,所以可以把AspectJ相关的jar包拷贝到war包里的lib下。 
 
 
第三步:生成Mybatis Bean
 
1.配置pom.xml 
给pom.xml加Mybatis的plugin: 
Java代码  
<plugin>  
    <groupId>org.mybatis.generator</groupId>  
    <artifactId>mybatis-generator-maven-plugin</artifactId>  
    <version>1.3.0</version>  
</plugin>  
 
还需要Mybatis的repository,在前面已经加过了。另外,需要加一个Mybatis generator的配置文件名的property:
Java代码  
<mybatis.generator.configurationFile>generatorConfig.xml</mybatis.generator.configurationFile>  
 
2.配置generatorConfig.xml 
Java代码  
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  
<generatorConfiguration>  
    <classPathEntry location=".\\src\\main\\webapp\\WEB-INF\\lib\\classes12.jar" />  
  
    <context id="DB2Tables" targetRuntime="MyBatis3">  
        <jdbcConnection driverClass="JDBC驱动名"  
            connectionURL="jdbc:oracle:thin:@192.168.122.241:1521:orcl" userId="user"  
            password="password">  
        </jdbcConnection>  
  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false" />  
        </javaTypeResolver>  
  
        <javaModelGenerator targetPackage="com.rever.mybatis.model"  
            targetProject=".\src\main\java">  
            <property name="enableSubPackages" value="true" />  
            <property name="trimStrings" value="true" />  
        </javaModelGenerator>  
  
        <sqlMapGenerator targetPackage="com.rever.mybatis.model"  
            targetProject=".\src\main\resources">  
            <property name="enableSubPackages" value="true" />  
        </sqlMapGenerator>  
  
        <javaClientGenerator type="XMLMAPPER"  
            targetPackage="com.rever.mybatis.model" targetProject=".\src\main\java">  
            <property name="enableSubPackages" value="true" />  
        </javaClientGenerator>  
  
        <table tableName="TableName" domainObjectName="TableNameObject">  
            <generatedKey column="ID" sqlStatement="select s_sequence.nextval from dual"  
                type="pre" />  
        </table>  
    </context>  
</generatorConfiguration>  
 
 
这里需要注意一点的是生成的xml存放路径最好放在src\main\resources路径下,否则Maven打包的时候不会把相关的xml文件打到war包里的。 
3.执行maven命令,生成Mybatis文件: 
posted @ 2013-05-01 13:55  linux,dev  阅读(441)  评论(0编辑  收藏  举报