Mybatis从零开始,看我的就够了

mybatis

持久层框架:把内存中的对象的信息持久化保存到数据库中 替代jdbc,底层是java

对象关系映射:java程序中的对象—表中的记录

Mybatis特点:小巧 易上手

  1. 轻量级:核心jar不到1m
  2. sql与java代码分离
  3. 实现复杂的映射关系
  4. 面向配置编程
  5. 支持动态sql(通过标签实现sql的流程控制)

jdbc缺点:

  1. jdbc要频繁的创建 销毁链接效率低
    mybatis有内置连接池:实现链接的复用
  2. sql和java代码混合在一起:可读性差 学习成本高 排错难
    mybatis把sql和java代码分离:把sql写在mapper映射文件中
  3. jdbc给占位符赋值比较繁琐
    mybatis可以实现对象到表记录的自动映射
  4. jdbc解析结果集麻烦易错
    mybatis实现结果集到java对象的自动映射

过程:

导入jar

在这里插入图片描述

创建日志lo4j.properties

Mybatis从零开始,看我的就够了_第1张图片

配置mybatis-config.xml文件(如果无法提示需配置mybatis-config.dtd文件)

Mybatis从零开始,看我的就够了_第2张图片

创建实体类

创建实体类映射

Mybatis从零开始,看我的就够了_第3张图片

配置连接池,引入映射

Mybatis从零开始,看我的就够了_第4张图片

测试

public class Demo1 {
     
    public static void main(String[] args) throws IOException {
     
        //1获取核心配置文件对应的流
        InputStream in= Resources.getResourceAsStream("mybatis-config.xml");
        //2创建sqlsessionfactory对象与核心配置文件的流关联
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in);
        //3获取sqlsession获取链接
        SqlSession session=factory.openSession(true);//设置自动提交事务,才能真正对数据库进行操作
        Student getBySid = session.selectOne("getBySid", 6);
        System.out.println(getBySid);
        session.delete("deleteOneBySid",21);
        List<Object> list = session.selectList("getAllStudent");
        for (Object o : list) {
     
            System.out.println(o);
        }

        session.close();
    }
}

你可能感兴趣的:(数据库,mybatis,java,spring,hibernate)