欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis(二)----框架入门

程序员文章站 2022-06-12 22:56:57
...

二、Mybatis框架入门

1、Mybatis的环境搭建

1、创建maven工程并导入坐标

2、创建实体类和dao的接口

3、创建Mybatis的主配置文件SqlMapConfig.xml

4、创建映射配置文件IUserDao.xml

  • 注意事项

1、我们在工程中创建的IUserDao.xmlIUserDao.java接口,而Mybatis中把持久层的操作接口和映射文件叫做Mapper,所以IUserDao=IUserMapper

2、目录的创建和包的创建方式是不一样的,在包结构,com.simon.dao是三级目录,在目录结构中com.simon.dao是一层结构。

3、mybatis的映射配置文件必须和dao接口的包结构相同。

4、映射配置文件的mapper标签的namespace属性的取值必须是dao接口的全限定类名。

5、映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名。

2、Mybatis的入门案列

  • 读取配置文件
  • 创建SqlSessionFactory工厂
  • 创建SqlSession
  • 创建Dao接口的代理对象
  • 执行dao中的方法
  • 释放资源
 //导入配置文件
        InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");
        //创建sqlSessionFactory的构建者对象
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        //使用构建者创建工厂对象sqlSessionFactory
        SqlSessionFactory factory=builder.build(in);
        //4.使用 SqlSessionFactory 生产 SqlSession 对象
        SqlSession session = factory.openSession();
        //5.使用 SqlSession 创建 dao 接口的代理对象
        IUserDao userDao = session.getMapper(IUserDao.class);
        //6.使用代理对象执行查询所有方法
        List<User> users=userDao.findAll();
        for (User user:users){
            System.out.println(user);
        }
        session.close();
        in.close();

2.1基于xml

  • SqlMapConfig配置文件

    <?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>
        <!--配置mubatis的环境-->
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&amp;serverTimezone=UTC"></property>
                    <property name="username" value="root"></property>
                    <property name="password" value="root"></property>
                </dataSource>
            </environment>
        </environments>
        <!--告知mybatis的映射配置位置-->
        <mappers>
            <mapper resource="com/simon/dao/IUserDao.xml"></mapper>
        </mappers>
    </configuration>
    
  • IUserDao.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.simon.dao.IUserDao">
        <select id="findAll" resultType="com.simon.domain.User" >
            select * from user
        </select>
    </mapper>
    

2.2基于注解

  • 修改SqlMapConfig.xml

    <mappers>
            <mapper class="com.simon.dao.IUserDao.xml"></mapper>
        </mappers>
    
  • 移除IUserDao.xml配置文件,并在dao接口的方法上加入@(select * from user)

        @Select("select * from user")
        public List<User> findAll();
    

3、Mybatis框架分析

以mybatis的增删改查为例,它是如何工作的?

  • 创建代理对象
  • 在代理对象调用selectList
  • 使用mybatis的总概况
    Mybatis(二)----框架入门

  • 使用mybatis开发流程图
    Mybatis(二)----框架入门Mybatis(二)----框架入门Mybatis(二)----框架入门

相关标签: 后端