Mybatis

1,三层架构

在这里插入图片描述

2,持久层

在这里插入图片描述

3,入门

mybatis环境搭建

​ 第一步:创建maven工程并导入坐标

​ 第二步:创建实体类和dao的接口

[外链图片转存失败(img-6A0IAifF-1568271118752)(/Users/mac/Desktop/屏幕快照 2019-09-12 上午8.58.52.png)]

​ 第三步:创建Mybatis的主配置文件————SqlMapConfig.xml

[外链图片转存失败(img-mzc3GcAb-1568271118756)(/Users/mac/Desktop/11.png)]

<?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">
<!--mybatis的主配置文件-->
<configuration>
    <!--配置环境-->
    <environments default="mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源 连接池-->
            <dataSource type="POOlED">
                <!--配置连接数据库的四个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="maple"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
    		<!--
					使用注解开发使用class属性
				<mapper class="com.jsp.dao.IUserDao"/>
				-->
        <mapper resource="com/jsp/dao/IUserDao.xml" />
    </mappers>

</configuration>

​ 第四步:创建映射配置文件————IUserDao.xml

[外链图片转存失败(img-iX7naaiB-1568271118761)(/Users/mac/Library/Mobile Documents/comapplePreview/Documents/e.png)]

<?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.jsp.dao.IUserDao">
    <!--配置查询所有-->
    <select id="findAll" resultType="com.jsp.domain.User">
        select * from user
    </select>
</mapper>

4,环境搭建的注意事项

第一:创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致。在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper———所以IUserDao和IUserMapper是一样的

第二:在idea中创建目录的时候,它和包是不一样的,包在创建的时候是一个多级的目录,而环境搭建时所创建的目录会是一个一级目录,所以创建的时候要一级一级向下创建

第三:mybatis的映射配置文件位置必须和dao接口的包结构相同。

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

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

5,入门案例

第一步:读取配置文件

第二步:创建SqlSessionFactory工厂

第三步:使用工厂生产一个SqlSession对象

第四步:使用SqlSession创建dao接口的代理对象

第五步:使用代理对象执行方法

第六步:释放资源

package com.jsp.test;
import com.jsp.dao.IUserDao;
import com.jsp.domain.User;
import org.apache.ibatis.io.Resources;//导入的是apache的Resources包
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;

/**
 * @author mac
 * @create 2019/9/12
 *
 */
public class MybatisTest {
    /**
     * mybatis的入门案例
     * @param args
     */
    public static void main(String[] args) throws Exception {
        //1,读取配置文件
        InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2,创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(is);
        //3,使用工厂生产一个SqlSession对象
        SqlSession session = factory.openSession();
        //4,使用SqlSession创建dao接口的代理对象
        IUserDao userDao = session.getMapper(IUserDao.class);
        //5,使用代理对象执行方法
        List<User> users = userDao.findAll();
        for (User user:users) {
            System.out.println(user);
        }
        //6,释放资源
        session.close();
        is.close();
    }
}

[外链图片转存失败(img-Ej1P5oDu-1568271118763)(/Users/mac/Desktop/mybatis/mybatis_day01/截图/入门案例的分析.png)]

查询所有的分析

[外链图片转存失败(img-GS2kLlIO-1568271118764)(/Users/mac/Desktop/mybatis/mybatis_day01/截图/查询所有的分析.png)]

自定义Mybatis分析

[外链图片转存失败(img-eKks6YEx-1568271118765)(/Users/mac/Desktop/mybatis/mybatis_day01/截图/自定义Mybatis分析.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值