mybatis的配置步骤

 

什么是 MyBatis

     MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

1.安装

使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:添加坐标

        <!--下载jar包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>x.x.x</version>
        </dependency>

        <!--驱动,根据数据库版本配置-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
        <!--测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!--日志-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>

2.把数据库的数据封装成对象

     连接数据库

     创建bean

mybatis的配置步骤

3.创建接口

mybatis的配置步骤

public interface IUserDao {
    List<User> findAll();
}

resources里面的IUserDao.xml配置文件

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <!--namespace对象的映射的接⼝-->
<mapper namespace="com.soft.dao.IUserDao">
<!--id对应接⼝的⽅法-->
<!--resultType把结果封装对象类型-->
<select id="findAll" resultType="com.soft.domain.User">
    select * from USER;
</select>
</mapper>

4. 编写 SqlMapConfig.xml 文件(创建在resources下)

<?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>
    <!-- 配置 mybatis 的环境 -->
    <environments default="development">
        <!-- 配置 mysql 的环境 -->
        <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/webstudent"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 告知 mybatis 映射配置的位置 -->
    <mappers>
        <mapper resource="com/soft/dao/IUserDao.xml"/>
    </mappers>
</configuration>

5.编写测试类 TestMyBatis

    从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易

            //1.读取配置⽂件
            //2.创建 SqlSessionFactory 的构建者对象
            //3.使⽤构建者创建⼯⼚对象 SqlSessionFactory
            //4.使⽤ SqlSessionFactory ⽣产 SqlSession 对象
            //5.使⽤ SqlSession 创建 dao 接⼝的代理对象
            //6.使⽤代理对象执⾏查询所有⽅法
            //7.释放资源

public class TestMybatis {
        public static void main(String[] args) throws IOException {
            //1.读取配置⽂件
            //2.SqlSession工厂
            String resource ="SqlMapConfig.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

            //3.创建IUserDao对象
            SqlSession sqlSession = sqlSessionFactory.openSession();
            IUserDao userDao = sqlSession.getMapper(IUserDao.class);
            //4.调用对象的方法
            List<User> userDaoAll = userDao.findAll();
            for (User user : userDaoAll){
                System.out.println(user);
            }
            //5.处理结果

            //6.使⽤代理对象执⾏查询所有⽅法
            //7.释放资源,关闭
            sqlSession.close();
            inputStream.close();
        }
    }

上一篇:MyBatis Day02(2021-09-26)


下一篇:MyBatis入门