栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis复习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis复习

目录

JDBC、Hibernate和JPA、mybatis比较

Mybatis使用基本知识:

使用mybatis


JDBC、Hibernate和JPA、mybatis比较
  • JDBC
  1. SQL夹杂在Java代码中耦合度高,导致硬编码内伤
  2. 维护不易且实际开发需求中SQL有变化,频繁修改的情况多见
  3. 代码冗长,开发效率低
  • MyBatis
  1. 轻量级,性能出色
  2. SQL和Java编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据。
  3. 开发效率稍逊于HIbernate,但是完全能够接受
  • Hibernate和JPA
  1. 操作简便,开发效率高
  2. 程序中的长难复杂SQL需要绕过框架。
  3. 内部自动生产的SQL,不容易做特殊优化
  4. 基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难。
  5. 反射操作太多,导致数据库性能下降

Mybatis使用基本知识:

        1.相关概念:ORM (Object Relationship Mapping)对象关系映射。如图:

 

        2.Mybatis具有面向接口编程的功能, Mapper接口相当于Dao。创建流程如图:

 

        3.sqlSession:代表Java程序和数据库之间的会话,而HttpSession是Java程序和浏览器之间的会话

        4.sqlSessionFactory:是"生产"SqlSession的“工厂",这里使用了工厂模式工厂模式:如果创建某一个对象,使用的过程基本固定,那么我们就可以把创建这个对象的相关代码封装到一个“工厂类"中,以后都使用这个工厂类来“生产"我们需要的对象。

使用mybatis

映射文件




    

        insert into user values (null ,"123465","101")

    

接口类

package mapper;

public interface UserMapper {
    int insert();
}

测试类

package controller;

import mapper.UserMapper;
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;

public class Controller {
    public static void main(String[] args) throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int i = mapper.insert();
        sqlSession.commit();
        System.out.println(i);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号