一、环境搭建

1、依赖

  1. <dependency>
  2. <groupId>org.mybatis</groupId>
  3. <artifactId>mybatis</artifactId>
  4. <version>3.5.4</version>
  5. </dependency>

2、创建实体类

  1. 实体类属性和表中的字段一致
  2. 实现Serializable接口【序列化接口】
  3. 该重写的方法都重写了

3、创建该类的接口,定义抽象方法

  1. // 接口 操作User表
  2. public interface UserDao {
  3. // 返回List集合 集合中保存的是User对象
  4. List<User> getUser();
  5. }

4、创建主配置文件

在resources目录下创建 mybatis-config.xml文件
官网: https://mybatis.org/mybatis-3/zh/getting-started.html

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6. <environments default="development">
  7. <environment id="development">
  8. <transactionManager type="JDBC"/>
  9. <dataSource type="POOLED">
  10. <property name="driver" value="${driver}"/>
  11. <property name="url" value="${url}"/>
  12. <property name="username" value="${username}"/>
  13. <property name="password" value="${password}"/>
  14. </dataSource>
  15. </environment>
  16. </environments>
  17. <mappers>
  18. <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  19. </mappers>
  20. </configuration>

5、创建映射配置文件UserMapper.xml

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <!DOCTYPE mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="org.mybatis.example.BlogMapper">
    6. <select id="selectBlog" resultType="Blog">
    7. select * from Blog where id = #{id}
    8. </select>
    9. </mapper>

    6、测试

    未命名图片.png

    二、环境搭建的注意事项

  1. 在MyBatis中他把持久层的操作接口名称和映射文件也叫做:Mapper
  2. 所以UserDao.java 这个接口和UserMapper.xml是一致的
  3. 在IDEA创建目录的时候,他和包是不一样的
    • 包:com.yixuexi.dao 三层结构
    • 目录:com/yixuexi/dao 一层目录 【所以要分三次创建】

4. MyBatis的映射配置文件 必须和dao结构的包结构相同

  • 也就是说在resources文件夹下建出和dao同样的结构目录然后mapper放进去
  • 为什么在resources里面搞Mapper?
    • 因为 main—>java 目录下的xml文件不会被编译
    • 一定要用/
    • 在一定要用/

5. 映射文件的Mapper标签的namespace属性的取值必须是dao接口的全限定类名

6. 映射配置文件的操作配置,id属性的取值必须是dao接口的方法名