Mybaties及Log4j的使用

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>
    <!-- db资源-->
    <properties resource="db.properties"></properties>
    
    <settings>
        <!-- log4j-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
    
    <typeAliases>
        <!-- bean层 -->
        <package name="com.zzc.bean"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- mapper层 -->
        <package name="com.zzc.mapper"/>
    </mappers>
</configuration>

db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/venus?useSSL=false&amp;serverTimezone=UTC
username=root
password=root

StudentMapper.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.zzc.mapper.StudentMapper">
    <select id="getAll" resultType="Student">
        select * from sstudent
    </select>
    <!--<select id="getByNameAndSex" resultType="Student">
        select * from sstudent
        <where>
            <if test="name !=null and name !=''">
                name=#{name}
            </if>
            <if test="sex !=null and sex !=''">
                and sex=#{sex}
            </if>
        </where>
    </select>-->
    <select id="getByNameAndSex" resultType="Student">
        select *from sstudent
        <trim prefix="where" prefixOverrides="and|or">
            <if test="name !=null and name !=''">
                name=#{name}
            </if>
            <if test="sex !=null and sex !=''">
                and sex=#{sex}
            </if>
        </trim>
    </select>
</mapper>

StudentMapper.java

package com.zzc.mapper;

import com.zzc.bean.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentMapper {
    /**
     * 查询所有
     * @return
     */
    public List<Student> getAll();

    /**
     * 根据姓名和性别查询
     * @param name
     * @param sex
     * @return
     */
    public List<Student> getByNameAndSex(@Param("name") String name,@Param("sex") String sex);
}

StudentTest.java

package com.zzc.test;

import com.zzc.bean.Student;
import com.zzc.mapper.StudentMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class StudentTest {
    public static void main(String[] args) throws IOException {

        InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        SqlSession session=factory.openSession(true);
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        List<Student> list=mapper.getAll();
        for (Student student : list) {
            System.out.println(student);
        }
        List<Student> l=mapper.getByNameAndSex("小李","男");
        for (Student student : l) {
            System.out.println(student);
        }
        session.close();
    }
}

idea解析xml文件

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

maven文件

<dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.3.0</version>
  </dependency>
      <!-- mysql驱动包 -->
<dependency><groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.29</version>
</dependency>
          <!-- junit测试包 -->
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId><version>4.11</version>
     <scope>test</scope>
 </dependency>
 

log4j的使用

1、导包
		<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
2、配置文件
<settings>
    <!-- log4j-->
    <setting name="logImpl" value="LOG4J"/>
</settings>
3、设置日志内容 log4j.properties
# DEBUG\u8BBE\u7F6E\u8F93\u51FA\u65E5\u5FD7\u7EA7\u522B\uFF0C\u7531\u4E8E\u4E3ADEBUG\uFF0C\u6240\u4EE5ERROR\u3001WARN\u548CINFO \u7EA7\u522B\u65E5\u5FD7\u4FE1\u606F\u4E5F\u4F1A\u663E\u793A\u51FA\u6765
log4j.rootLogger=DEBUG,Console,RollingFile

#\u5C06\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u63A7\u5236\u53F0
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern= [%-5p]-[%d{yyyy-MM-dd HH:mm:ss}] -%l -%m%n

#\u6BCF\u5929\u4EA7\u751F\u4E00\u4E2A\u65E5\u5FD7\u6587\u4EF6(RollingFile)
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
#\u5F53\u5929\u7684\u65E5\u5FD7\u6587\u4EF6\u5168\u8DEF\u5F84
log4j.appender.RollingFile.File=d:/logs/sirius.log
#\u670D\u52A1\u5668\u542F\u52A8\u65E5\u5FD7\u662F\u8FFD\u52A0\uFF0Cfalse\uFF1A\u670D\u52A1\u5668\u542F\u52A8\u540E\u4F1A\u751F\u6210\u65E5\u5FD7\u6587\u4EF6\u628A\u8001\u7684\u8986\u76D6\u6389
log4j.appender.RollingFile.Append=true
#\u65E5\u5FD7\u6587\u4EF6\u683C\u5F0F
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout  
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p %-40.40c %X{traceId}-%m%n
log4j.appender.RollingFile.Threshold=DEBUG
#\u8BBE\u7F6E\u6BCF\u5929\u751F\u6210\u4E00\u4E2A\u6587\u4EF6\u540D\u540E\u6DFB\u52A0\u7684\u540D\u79F0,\u5907\u4EFD\u540D\u79F0\uFF1Asirius.log.\u5E74\u6708\u65E5\u65F6\u5206.log
log4j.appender.RollingFile.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
4、代码中生产log4j日志

import org.apache.log4j.Logger;

static Logger logger=Logger.getLogger(UserTest.class);
logger.info("输入内容,类似system.out.print");
logger.debug();
logger.error();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值