• 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文件: 
  • 相关阅读:
    变量系列教材 (一)- Java中 什么是变量
    HelloWorld系列(七)- 各种软件、工具版本兼容说明
    HelloWorld系列(六)- eclipse常见的使用技巧
    HelloWorld系列(四)- 使用ecipse创建第一个 java project
    HelloWorld系列(二)- 用命令行中编写第一个 java 程序
    HelloWorld系列(一)- 手把手教你做JDK环境变量配置
    面向对象(三)- Java类的方法
    [LeetCode] 69. Sqrt(x)
    [LeetCode] 258. Add Digits
    [LeetCode] 187. Repeated DNA Sequences
  • 原文地址:https://www.cnblogs.com/huapox/p/3516124.html
Copyright © 2020-2023  润新知