Mybatis框架简介以及入门案例

Mybatis

  • 持久型框架,DAO层,数据访问层

持久层技术解决方案

JDBC技术

  • connection
  • PreparedStatement
  • ResultSet

Spring的JDBC-Template

  • Spring对Jdbc的简单封装。

Apache的DBUtils

  • 他和Spring的JDBC-Temp很像,同样是对JDBC的简单封装。

以上这些都不是框架

JDBC是规范

Spring的Jdbc-Template 和 Apache的DBUtils都只是工具类

Mybatis

  • Mybatis是一个持久层框架,用java编写
  • 他封装了jdbc操作的很多细节,使开发者只需要关注sql语句,无需关注注册驱动,创建连接等复杂过程。
  • 他使用了ORM思想,实现了结果集的封装
ORM思想:
    Object Relational Mappging 对象关系映射
        就是把数据库表和实体类的属性对应起来
        让我们可以操作实体类就可以实现操作数据库表

Mybatis入门

前提创表:

环境配置

创建前:目录包结构

  1. 创建实体类(User)和dao接口(IUserDao.java)

实体类:

dao接口:

2. 配置Mybatis主配置文件 SqlMapConfig.xml

3. 创建映射文件,在NameSpace标签中指向dao接口,并在此写sql语句

PS: maven下载依赖慢解决办法:
1. 在maven/conf中的setting.xml
添加 (阿里云镜像):
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>       
</mirror>

2. 在maven中pom.xml中添加
<repositories>
        <repository>
            <id>nexus-aliyun</id>
            <name>nexus-aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
加载开发所需的各种依赖
  • Mybatis必备依赖:

  • Mybatis环境搭建步骤:
    1. 创建maven工程并导入坐标
    2. 创建实体类和dao的接口
    3. 创建Mybatis的主配置文件 SqlMapConfig.xml
    4. 创建映射配置文件 IUserDao.xml
环境搭建的注意事项
  1. 创建IUserDao.xml 和 IUserDao.java时,名称是为了和我们之前的知识保持一致。
    在Mybatis中,他把持久层的操作接口名称和映射文件叫做Mapper。所以:IUserDao和IUserMapper是一样的。
  2. 在idea中创建目录的时候,他和包是不一样的。包在创建目录时:com.itcast.dao他是三级结构。而目录在创建时:com.itcast.dao是一级目录结构,要分三次创建对应目录。
  3. Mybatis的映射配置文件位置必须和dao接口的包结构相同。
  4. 映射配置文件的Mapper标签namespace属性的取值必须是dao接口的全限定类名。
  5. 映射配置文件的操作配置(Select···),id属性的取值必须是dao接口的方法名。

PS:当我们遵从3,4,5点之后,在开发中就无需再写dao的实现类

Mybatis 入门案例:

完成前序那些操作,创建好对应文件后,进行如下类的主方法的编写。

package com.itcast.test;

import com.itcast.dao.IUserDao;
import com.itcast.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/***
 * Mybatis的入门案例
 */
public class MybatisTest {
    public static void main(String[] args) throws IOException {
        //1.读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2.创建一个SQLSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //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();
        in.close();
    }
}

结果如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值