Mybatis(一)配置文件,日志,测试运行

本文介绍了如何创建一个Mybatis Maven项目,包括配置pom.xml、mybatis-config.xml核心文件,实体类、Mapper接口与XML配置,以及如何进行测试运行。同时,详细讲解了配置日志文件log4j.properties的重要性,提到了避免使用lombok以减少内存占用,并提及目前常用log4j2的配置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建maven项目及以下文件

pom.xml

 <!--mysqlConnector-->
  <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
      <version>8.0.16</version>
 </dependency>
  <!--mybatis 核心jar包-->
<dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
     <version>3.5.3</version>
  </dependency>
  <!--junit-->
   <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
      <version>4.13.1</version>
       <scope>test</scope>
   </dependency>

2.mybatis-config.xml:mybatis核心文件,名字自取

<?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="logImpl" value="LOG4J"/>
        </settings>
        <typeAliases>
            <!--起别名,使用指定的实体类是用别名就行,package自动把类名小写-->
<!--            <typeAlias type="com.tl.pojo.Dept" alias="dept"></typeAlias>-->
            <package name="com.tl.pojo"/>
        </typeAliases>
        <environments default="development">
            <environment id="development">
                <!--配置事务,JDBC支持事务的提交和回滚-->
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://127.0.0.1:3306/mysql?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
        <!--加载mapper映射文件-->
        <mappers>
            <mapper resource="com/tl/mapper/DeptMapper.xml"/>
        </mappers>
    </configuration>

 3.实体类Dept,接口DeptMapper(dao层),及配置文件DeptMapper.xml

Dept类:注意不要使用lombok,占内存,会被骂的

public class Dept {
    private int deptno;
    private String dname;
    private String loc;

    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }

    public String getLoc() {
        return loc;
    }

    public void setLoc(String loc) {
        this.loc = loc;
    }

    @Override
    public String toString() {
        return "Dept{" +
                "deptno=" + deptno +
                ", dname='" + dname + '\'' +
                ", loc='" + loc + '\'' +
                '}';
    }
}

DeptMapper:

public interface DeptMapper {
    List<Dept> findAll();
}

DeptMapper.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.tl.mapper">
    <select id="findAll" resultType="dept">
        select  *from dept;
    </select>
</mapper>

 4.测试运行:

public class Test {
    public static void main(String[] args) throws IOException {
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        List<Dept> findAll = sqlSession.selectList("findAll");
        for (Dept dept : findAll){
            System.out.println(dept);
        }
        sqlSession.close();
    }
}

 5.配置日志log4j.properties.注意log4j不要写错,甚至大小写也不要写错.

两种方式,现在一般都用log4j2了

1)log4j.properties

<!--log4j1 -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
#定义全局日志级别调试阶段推荐debug
log4j.rootLogger=debug,stdout

#stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

2) log4j2.xml

<!--log4j2 -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.12.1</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="DEBUG">
        <Appenders>
            <Console name="Console" target="SYSTEM_ERR">
                <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
            </Console>

            <RollingFile name="RollingFile" filename="log/test.log"
                         filepattern="${logPath}/%d{YYYYMMddHHmmss}-fargo.log">
                <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
                <Policies>
                    <SizeBasedTriggeringPolicy size="10 MB" />
                </Policies>
                <DefaultRolloverStrategy max="20" />
            </RollingFile>
        </Appenders>
        <Loggers>
            <Root level="INFO">
                <AppenderRef ref="Console" />
            </Root>
        </Loggers>
    </Configuration>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值