配置步骤


1. 引入pom依赖

<dependencies>  
    <!--MyBatis核心依赖-->  
    <dependency>  
        <groupId>org.mybatis</groupId>  
        <artifactId>mybatis</artifactId>  
        <version>3.5.16</version>  
    </dependency>  

    <!--Junit测试-->  
    <dependency>  
        <groupId>junit</groupId>  
        <artifactId>junit</artifactId>  
        <version>4.13.2</version>  
    </dependency>  

    <!--MySql驱动-->  
    <dependency>  
        <groupId>mysql</groupId>  
        <artifactId>mysql-connector-java</artifactId>  
        <version>8.0.33</version>  
    </dependency>  

    <!--lombok-->  
    <dependency>  
        <groupId>org.projectlombok</groupId>  
        <artifactId>lombok</artifactId>  
        <version>1.18.30</version>  
    </dependency>  

    <!--log4j日志管理-->  
    <dependency>  
        <groupId>org.apache.logging.log4j</groupId>  
        <artifactId>log4j-core</artifactId>  
        <version>2.23.1</version>  
    </dependency>  
</dependencies>

2. 创建 mybatis-config.xml

src/main/resources下创建:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "https://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.cj.jdbc.Driver"/>  
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> 
                <property name="username" value="mybatis"/>  
                <property name="password" value="EzW8ccePcXABXyBR"/>  
            </dataSource>  
        </environment>  
    </environments>  
    <!--引入映射文件-->  
    <mappers>  
        <mapper resource="mappers/UserMapper.xml"/>  
    </mappers>  
</configuration

3. 创建POJO

位于:src/main/java/xxx/xxx/pojo/

@Data  
public class User {  
    private int id;  
    private String username;  
    private String password;  
    private Integer age;  
    private char sex;  
    private String email;  

}

注:

代码中出现的 @Data 的lombok的注解处理,后面应该会出个详细介绍,使用lombok可以省掉大部分构造函数、setter和getter。
如:@Data = 构造器 + getter + setter + toString

4. 创建数据操作接口

位于src/main/java/xxx/xxx/mapper/:

public interface UserMapper {  
    /**  
     * 添加用户     
     * @return  
     */  
    int insertUser();  

    /**  
     * 根据id查询用户     
     * @param id  
     * @return  
     */  
    User selectUserById(Integer id);  

    /**  
     * 修改用户     
    */    
    void updateUser(Integer id);
}

5. 创建对数据操作的映射

位于src/main/resources/mappers

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">  
<!--空间名称需要指定对应的mapper文件-->  
<mapper namespace="com.zxb.mybatis.mapper.UserMapper">  
   <!--插入用户-->  
    <insert id="insertUser">  
        insert into t_user values(null, '张三', '123', 23, '女', '123@qq.com')  
    </insert>  
    <update id="updateUser">  
        update t_user set username = '李四' where id = #{id};  
    </update>  
    <select id="selectUserById" resultType="com.zxb.mybatis.pojo.User">  
        select * from t_user where id=#{id}  
    </select>  
</mapper>

测试


src/test/java/xx/xx/test 下创建 MyBatisTest.java

@Log4j2  
public class MyBatisTest {  

    @Test  
    public void testMyBatis() throws IOException {  
        // 加载核心配置文件  
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");  
        // 获取SqlSessionFactoryBuilder 对象  
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();  
        // 获取SqlSessionFactory 对象  
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);  
        // 获取SqlSession 对象  
        SqlSession sqlSession = sqlSessionFactory.openSession(true); // true 自动提交事务,不然无法修改表  
        // 获取mapper对象        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);  
        // 调用mapper方法  
//        int i = userMapper.insertUser();  
//        sqlSession.commit(); // 手动提交  
//        System.out.println("result:" + i);  
//        System.out.println("select result:"+userMapper.selectUserById(1));  
//        log.info("result:" + i);  
        log.info("select result:{}", userMapper.selectUserById(1));  
        userMapper.updateUser(1);  
        log.info("update success!");  
        log.info("select result:{}", userMapper.selectUserById(1));  

    }  

}