mybatis+ssm集成

本文详细介绍了如何将Spring、SpringMVC和Mybatis进行集成,并通过代码生成器自动生成增删改查操作,同时涵盖了拦截器的配置与使用,以及在集成过程中需要注意的XML配置细节。
摘要由CSDN通过智能技术生成

Mybatis集成maven项目

首先创建maven项目

1)创建一个maven项目
(2)引入pom.xml里面去

<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.26</version>
</dependency>

(3)写一个Mapper以及Mapper.xml
(4)完成测试是否成功

(2)使用代码生成器生成对应的增删改查

(1)先引入对应的xml

<dependency>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-core</artifactId>
  <version>1.3.2</version>
</dependency>
<plugins>
  <!-- 代码生成器插件-->
  <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.2</version>
      <configuration>
          <verbose>false</verbose>
          <overwrite>true</overwrite>
      </configuration>
  </plugin>
</plugins>

(2)然后配置generatorConfig.xml

配置生成mapper 和domain 和xml的路径
配置 表名
配置 mysql jar的路径

(3)拦截器

(1) 写一个类实现接口Interceptor接口
覆写三个方法 主要intercept方法
(2) 在mybatis主配置文件里面配置

(4)拦截器中的分类拦截器

(1) 导入分页的pom.xml依赖


<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.0.1</version>
</dependency>

(2)配置分页拦截器

<plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

(5)使用注意事项:

在ssm集成中,我们需要特别注意xml配置,需要仔细查看

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.itsource</groupId>
    <artifactId>mybatis-day03</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <org.springframework.version>4.2.5.RELEASE</org.springframework.version>
        <com.fasterxml.jackson.version>2.5.0</com.fasterxml.jackson.version>
        <org.slf4j.version>1.6.1</org.slf4j.version>
    </properties>

    <dependencies>
        <!-- Spring的支持包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- 引入springmvc:web前端的支持 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <!-- SpringMCV上传需要用到io包-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- 文件上传用到的包 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.2</version>
        </dependency>
        <!-- SpringMVC的json支持包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
        </dependency>

        <!--数据的支持-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>
        <!-- 測試包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!-- 这个scope 只能作用在编译和测试时,同时没有传递性。表示在运行的时候不添加此jar文件 -->
            <scope>provided</scope>
        </dependency>
        <!-- 日志文件 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j.version}</version>
        </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.14</version>
        </dependency>
        <!-- 代码生成器模版技术 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.6</version>
        </dependency>
        <!-- shiro的支持包 -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-all</artifactId>
            <version>1.4.0</version>
            <type>pom</type>
        </dependency>
        <!-- shiro与Spring的集成包 -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>
        <!-- poi支持的jar包 -->
        <!--
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>3.11</version>
        </dependency>
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.11</version>
        </dependency>
        -->
        <!-- easypoi的支持 -->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>3.2.0</version>
        </dependency>
        <!-- 图片压缩功能 -->
        <!-- 缩略图 -->
        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.6</version>
        </dependency>
        <!-- 定时调度 -->
        <dependency>
            <groupId>quartz</groupId>
            <artifactId>quartz</artifactId>
            <version>1.5.2</version>
        </dependency>

        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>2.2.4</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>javax.el</artifactId>
            <version>2.2.4</version>
        </dependency>
        <!--mybatis的jar-->
        <!--
            mybatis的核心包
          -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.1</version>
        </dependency>
        <!--mybatis集成spring-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.0</version>
        </dependency>
        <!--
              代码生成器的jar包
            -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
        <!--
          分页插件-->

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.0.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- 代码生成器插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>false</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

第二个是applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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
">

    <!-- 扫描service包 -->
    <context:component-scan base-package="cn.itsource.mybatis.service"/>
    <!-- 拿到连接数据库的数据:jdbc.properties -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!--
        jdbc.properties -> dataSource(数据源)
            -> SqlSessionFactory -> Mapper -> Service (事务)-> Controller ->EasyUI
     -->
    <!--配置一个dbcp的数据源-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
    <!--测试的时候:sqlSessionFactory==sqlSession==mapper接口 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--别名的配置:domain query-->
        <property name="typeAliasesPackage" value="cn.itsource.mybatis.domain,cn.itsource.mybatis.query"/>
        <!--mapper的映射文件:配置所有的映射文件-->
        <property name="mapperLocations" value="classpath*:cn/itsource/mybatis/mapper/*.xml" />
    </bean>
    <!--mapper接口的配置:映射器
     只配置了一个mapper接口,如果有多个:一个个的复制,很累的

    <bean id="departmentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.itsource.ssm.mapper.DepartmentMapper" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean> -->
    <!--mapper接口的配置:一劳永逸的配置:-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--把cn.itsource.ssm.mapper路径下的所有的mapper都配置起来-->
        <property name="basePackage" value="cn.itsource.mybatis.mapper" />
    </bean>

    <!--事务的配置:service-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    <!--注解驱动-->
    <tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

第三个是applicationContext-mvc.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"
       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"
       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/mvc
         http://www.springframework.org/schema/mvc/spring-mvc.xsd
    ">
    <!--静态资源放行-->
    <!--springmvc注解驱动-->
    <!--扫包:controller层-->
    <!--视图解析器-->
    <!--文件上传-->

    <!-- 对静态资源进行放行 -->
    <mvc:default-servlet-handler />
    <!-- 扫描controller部分的包 -->
    <!-- @Component组件, @Repository持久层, @Service业务逻辑层, and @Controller控制器 -->
    <context:component-scan base-package="cn.itsource.mybatis.web.controller" />
    <!-- 添加mvc对@RequestMapping等注解的支持 -->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json; charset=UTF-8</value>
                        <value>application/x-www-form-urlencoded; charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!-- 视图解析器 -->
    <!-- ViewResolver 视图解析器 (struts2视图类型类似) -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 设置视图路径的前后缀,该配置可以让我们写视图路径的时候更简单。 -->
        <!-- 希望跳转jsp是[/WEB-INF/views/前缀][xxx变量][.jsp后缀] -->
        <!-- * @see #setPrefix -->
        <property name="prefix" value="/WEB-INF/views/" />
        <!-- * @see #setSuffix -->
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 上传解析器 -->
    <!-- 错误:提示告诉开发者你没有配置文件上传解析器。
     multipartResolver:不能乱写
     -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置上传文件的最大尺寸为1MB -->
        <property name="maxUploadSize">
            <value>1048576</value>
        </property>
    </bean>
</beans>

第四个是generatorConfig.xml代码生成器

<?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:可以配置多个,也不配置
       数据库驱动:这里找到相应的驱动jar包就可以了(:不同数据库的jar不一样)
          location:里面的是路径(也可以直接写绝对路径 ->:E:\mybatis\mysql-connector-java-5.1.26-bin.jar)
    -->
    <classPathEntry   location="E:\maven\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar"/>
    <!--
       context:用于生成一组对象的环境(至少配置1个,可以配置多个)
       id:表达唯一的名称
       targetRuntime:用于指定生成的代码的运行环境(MyBatis3/MyBatis3Simple)
          MyBatis3:默认值
          MyBatis3Simple:不会生成与Example(案例)相关的方法
    -->
    <context id="DB2Tables"   targetRuntime="MyBatis3Simple" >
        <!--
            用于配置如果生成注释信息(最多可以配置一下)
            suppressAllComments:阻止生成注释 ,默认为false
            suppressDate:阻止生成的注释 时间戳,默认为false
            addRemarkComments:注释是否添加数据库表的备注信息,默认为false
         -->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--
           这个应该比较清楚,配置连接数据库的基本信息
        -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql:///mybatis"
                        userId="root" password="123456">
        </jdbcConnection>
        <!--
           用于指定JDBC类型和Java类型如何转换,最多可以配置一个
           forceBigDecimals:控制是否强制将DECIMALNUMERIC类型的JDBC字段转换成Java类型的 BigDecimal
                        默认为false,一般不需要配置
        -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--
           javaModelGenerator:用来控制生成的实体类
              targetPackage:生成Model类存放位置(包名)
              targetProject:指定目标项目路径(根目录)
              对应的子属性:
                 trimStrings:判断是否对数据库查询结果进行trim操作(默认false)
        -->
        <javaModelGenerator targetPackage="cn.itsource.mybatis.domain" targetProject="E:\ider\mybatisday3\src\main\java">
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--
           sqlMapGenerator:生成映射文件存放位置(Mapper.xml文件)
              targetPackage:生成SQL映射文件(XML文件)在哪个包中
              targetProject:指定目标项目路径(根目录)
        -->
        <sqlMapGenerator targetPackage="cn.itsource.mybatis.mapper" targetProject="E:\ider\mybatisday3\src\main\resources">
        </sqlMapGenerator>

        <!--
           javaClientGenerator:Java客户端生成器(生成Dao/Mapper的接口)标签可选(最多配置一个),如果不配置,就不会生成Mapper接口
              type:选择客户端代码生成器
                 MyBatis3
                    ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
                    MIXEDMAPPER:XML和注解混合形式
                    XMLMAPPER:所有方法都在XML(接口调用依赖XML)
                 MyBatis3Simple
                    ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
                    XMLMAPPER:所有方法都在XML(接口调用依赖XML)
              targetPackage:生成Mapper接口存放的包名
              targetProject:指定目标项目路径
        -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.itsource.mybatis.mapper" targetProject="E:\ider\mybatisday3\src\main\java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--
           table:生成对应表及类名
              tableName:对应表名(:%代表所有)
              domainObjectName:对应的类名
              generatedKey:主键自增的id字段(针对当前 数据库配置MySQL)
        -->
        <table tableName="t_dept" domainObjectName="Dept">
            <generatedKey column="id" sqlStatement="MySql" />
        </table>
    </context>
</generatorConfiguration>

第五个是MyBatis-Config.xml连接数据库+映射sql语句

<?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>
    <!-- 引入Properties文件 -->
    <properties resource="db.properties"></properties>
    <!-- 将一个包下面的所有类都取上别名:<package name="cn.itsource.domain" /> -->
    <!-- alias:取的别名 -->
    <!-- type:这个别名所对应的Java类 :别名使用的时候与大小写无关 -->
    <!--<typeAliases>-->
        <!--&lt;!&ndash; 练习的时候使用 &ndash;&gt;-->
        <!--&lt;!&ndash;<typeAlias type="cn.itsource.domain.Product" alias="Product" />&ndash;&gt;-->
        <!--&lt;!&ndash; 做项目的时候使用 &ndash;&gt;-->
         <!--<package name="cn.itsource.mybatis.domain.User" />-->
    <!--</typeAliases>-->
    <plugins>
        <plugin interceptor="cn.itsource.mybatis.interceptor.HelloInterceptor">
            <property name="prop1" value="myDb"></property>
            <property name="prop2" value="oracleDb"></property>
        </plugin>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

    <!-- default:默认使用哪一个环境(必需对应一个环境的id) -->
    <environments default="development">
        <!-- 一个环境 id:为这个环境取唯一一个id名称 -->
        <environment id="development">
            <!-- 事务管理 type:JDBC(支持事务)/MANAGED(什么都不做) -->
            <transactionManager type="JDBC" />
            <!-- 数据源, 连接池 type(POOLED):MyBatis自带的连接池 -->
            <dataSource type="POOLED">
                <!-- 连接数据库的参数 -->
                <property name="driverClassName" value="${jdbc.driverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <!-- 添加映射文件的位置 -->
    <mappers>
        <!-- 添加映射文件:1.前面不添加/,表示相对路径;2.使用的文件路径/,不是包路径. -->
        <!-- 单表crud -->
        <!-- <mapper resource="cn/itsource/mybatis/a_hello/ProductMapper.xml" /> -->
        <!-- 单向多对一 -->
        <mapper resource="cn/itsource/mybatis/mapper/UserMapper.xml" />
        <mapper resource="cn/itsource/mybatis/mapper/DeptMapper.xml" />
    </mappers>
</configuration>

第六个配置工具包log4j.properties

#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
#   1. DEBUG (the least serious)
#   2. INFO
#   3. WARN
#   4. ERROR
#   5. FATAL (the most serious)


# 全局配置
log4j.rootLogger=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n

# 局部配置
log4j.logger.cn.itsource=TRACE


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值