一、前提

1、创建maven项目

2、添加依赖

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
    </dependencies>

3、创建module(删除原来的src)

4、在module中创建配置文件

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>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="@WSX3edc"/>
            </dataSource>
        </environment>
    </environments>

<!--    <mappers>-->
<!--        <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
<!--    </mappers>-->
</configuration>

 二、编写mybatis类

1、构建 SqlSessionFactory

2、从 SqlSessionFactory 中获取 SqlSession

三、编写代码

1、实体类

2、Dao类(接口)

package com.wt.dao;

import com.wt.pojo.User;

import java.util.List;

public interface UserDao {
    List<User> getUserList();
}

3、新建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">
<!--namespace与UserDao产生交集-->
<mapper namespace="com.wt.dao.UserDao">
<!--
id 对应UserDao接口的方法名字
resultType 表的实现类
-->
    <select id="getUserList" resultType="com.wt.pojo.User">
        select * from user
    </select>
</mapper>

sqlSession调用xml文件

四、测试

代码

package com.wt.dao;

import com.wt.pojo.User;
import com.wt.utils.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserDaoTest {
    @Test
    public void test(){
        SqlSession sqlSession = MyBatisUtil.getSession();
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List<User> userList = userDao.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        // 关闭sqlSession
        sqlSession.close();
  }
}

Type interface com.wt.dao.UserDao is not known to the MapperRegistry

mybatis-config.xml

每个mapper的配置文件都需要在核心配置文件中配置
   <mappers>
        <mapper resource="com/wt/dao/UserMapper.xml"/>
    </mappers>

 2、没找到路径文件

maven的文件添加

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

 

3、WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).

在src/main/resourecs目录下添加

log4j.properties 文件

# Global logging configuration 开发时候建议使用 debug
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n