精华内容
下载资源
问答
  • 什么是Mybatis

    2018-03-14 19:20:01
    1、理解什么是mybatis,以及mybatis的应用场景 2、使用mybatis开发demo 3、熟悉mybatis的配置文件,以后spring的时候,没有用。 4、会使用mybatis实现简单增删改查 ①Insert delete update select 标签使用
  • 什么是 MyBatis

    2020-10-20 23:03:14
    什么是 MyBatis 1、MyBatis 概述 MyBatis 本是 Apache 的一个开源项目 iBatis,2010年这个项目由 Apache Software Foundation 迁移到了 google code,并且改名为MyBatis。2013年11月迁移到Github。MyBatis 是一个...

    什么是 MyBatis

    1、MyBatis 概述

    MyBatis 本是 Apache 的一个开源项目 iBatis,2010年这个项目由 Apache Software Foundation 迁移到了 google code,并且改名为MyBatis。2013年11月迁移到Github。MyBatis 是一个优秀的持久层框架,它对 JDBC 的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建 Connection、创建 Statement、手动设置参数、结果集检索封装等繁杂的过程代码。

    Mybatis 通过xml 或注解的方式将要执行的各种 Statement(Statement、PreparedStatemnt,CallableStatement)配置起来,并通过 Java 对象和 Statement 中的 sql 进行映射生成最终执行的 sql 语句,最后由 Mybatis 框架执行 sql 并将结果映射成 java 对象并返回。

    2、MyBatis 与 JDBC

    JDBC 是 Java 连接关系数据库的底层 API,利用 JDBC 开发持久层存在诸多问题,而 MyBatis 正是为了解决 JDBC 的以下问题而生的。

    1. 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
    2. Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java 代码。
    3. 使用 PreparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
    4. 对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成 pojo 对象解析比较方便。

    3、MyBatis 与 Hibernate

    MyBatis 和 Hibernate 不同,它不完全是一个 ORM 框架,因为 MyBatis 需要程序员自己编写 Sql 语句,不过 Mybatis 可以通过 XML 或注解方式灵活配置要运行的 sql 语句,并将 java 对象和 sql 语句映射生成最终执行的 sql ,最后将 sql 执行的结果再映射生成 java 对象。

    MyBatis学习门槛低,简单易学,程序员直接编写原生态 sql,可严格控制 sql 执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,例如互联网软件、企业运营类软件等,因为这类软件需求变化频繁,一但需求变化要求成果输出迅速。但是灵活的前提是 mybatis 无法做到数据库无关性,如果需要实现支持多种数据库的软件则需要自定义多套 sql 映射文件,工作量大。

    Hibernate 对象/关系映射能力强,对于关系模型要求高的软件(例如需求固定的定制化软件)如果用Hibernate 开发可以节省很多代码,提高效率。但是 Hibernate 的学习门槛高,要精通门槛更高,而且怎么设计 O/R 映射,在性能和对象模型之间如何权衡,以及怎样用好 Hibernate 需要具有很强的经验和能力才行。
    引用一点教育

    展开全文
  • 什么是MyBatis

    2020-12-19 21:59:41
    什么是MyBatis 1、MyBatis是一个ORM框架,它内部封装了JDBC,开发时只需要关注SQL语句本身, 不需要花费精力去处理加载驱动、创建连接、创建statement等繁华的过程。 2、MyBatis可以使用XML或注解来配置和映射原生...

    什么是MyBatis

    1、MyBatis是一个ORM框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,
       不需要花费精力去处理加载驱动、创建连接、创建statement等繁华的过程。
    2、MyBatis可以使用XML或注解来配置和映射原生信息,
       将POJO映射成数据库的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集
    3、通过XML文件或注解的方式将要执行各种statement配置起来,
       并通过java对象和statement中的sql的动态参数进行映射生成最终执行的sql语句,
       最后由mybatis框架执行sql并将结果映射为java对象并返回。
    
    展开全文
  • 什么是mybatis

    2019-10-11 10:19:28
    mybatis 一款优秀的支持自定义SQL语句,存储过程和高级映射的持久层框架。消除了几乎所有jdbc代码和参数的手动设置和结果集的检索。mybatis可以使用xml或注解进行配置和映射,mybatis通过将参数映射到配置的SQL...

        mybatis 是一款优秀的支持自定义SQL语句,存储过程和高级映射的持久层框架。消除了几乎所有jdbc代码和参数的手动设置和结果集的检索。mybatis可以使用xml或注解进行配置和映射,mybatis通过将参数映射到配置的SQL形成最终的执行SQL语句,最后将执行SQL的结果映射成Java对象返回。

        与其他的orm(对象关系映射)框架不同,mybatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。与jdbc相比,mybatis简化了相关代码,SQL语句在一行代码中就能执行。mybatis提供了一个映射引擎,声明式的将SQL语句和执行结果与对象树映射起来。通过使用一种内建的类xml表达式语句,SQL语句可以被动态生成。

        mybatis支持声明式数据缓存。当一条sql语句被标记为“可缓存”后,首次执行它时从数据库获取的所有数据会被存储在高速缓存中,后面再执行这条语句时就会从高速缓存中读取结果。

       

    展开全文
  • Mybatis-01 什么是Mybatis

    2021-02-16 16:07:56
    Mybatis-01 什么是Mybatis 1.简介 1.1 什么是Mybatis MyBatis 是一款优秀的持久层框架 ,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis ...

    Mybatis-01 什么是Mybatis

    Mybatis系列文章已经完成上传:
    一、什么是Mybatis
    二、CRUD
    三、配置解析
    四、日志、分页
    五、注解开发
    六、动态Sql

    1.简介

    1.1 什么是Mybatis

    MyBatis 是一款优秀的持久层框架 ,它支持定制化 SQL存储过程以及高级映射

    MyBatis 避免了几乎所有的 JDBC 代码手动设置参数以及获取结果集

    MyBatis 可以使用简单的 XML注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

    Mybatis中文文档:

    https://mybatis.org/mybatis-3/zh/index.html

    1.2 获得Mybatis

    Maven仓库:https://mvnrepository.com/

    Maven仓库
    
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.3</version>
    </dependency>
    

    1.3 为什么需要Mybatis?

    帮助程序员将数据存入到数据库中、方便。

    传统的JDBC代码太复杂了。简化、框架、自动化。

    优点:

    • 简单易学、灵活、sql和代码的分离,提高了可维护性。
    • 提供映射标签,支持对象与数据库的orm字段关系映射
    • 提供对象关系映射标签,支持对象关系组建维护
    • 提供xml标签,支持编写动态sql。

    2.第一个Mybatis程序

    2.1 数据库

    因为使用的是MySql可视化工具,所以我描述我创建了什么

    创建了,数据库mybatis,表user,表中内容idnamepwd

    1

    之后,在其中随便加入一些数据。

    2.2 导入依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.example</groupId>
        <artifactId>Mybatis</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.47</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.6</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
        </dependencies>
        
    </project>
    

    也可以加入下面这个配置

    功能:主要用于打包资源文件默认情况下maven只打src/main/resource下的资源。

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    

    2.3 配置mybatis-config.xml

    <?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>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url"  value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8"/>
                    <!--账号-->
                    <property name="username" value="root"/>
                    <!--密码-->
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
        
          <!--两种方式  Dao类文件-->
        <mappers>
            <mapper resource="Dao/UserDao.xml"/>
        </mappers>
    </configuration>
    

    2.4 Mybatis工具类

    public class mybatis_util {
        private static SqlSessionFactory sqlSessionFactory;
        static {
            try {
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                } catch (Exception e) {
                e.printStackTrace();
                }
             }
            public static SqlSession getSqlSession() {
                return sqlSessionFactory.openSession();
                //return sqlSessionFactory.openSession(true); 
                //第二种是自动提交事物   增删改就不用写sqlSession.commit();
            }
        }
    

    2.5 pojo类

    public class user {
        private int id;
        private String name;
        private String pwd;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
        @Override
        public String toString() {
            return "user{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", pwd='" + pwd + '\'' +
                    '}';
        }
    
        public user() {
        }
    
        public user(int id, String name, String pwd) {
            this.id = id;
            this.name = name;
            this.pwd = pwd;
        }
    }
    

    2.6 Dao类

    public interface UserDao {
        public List<user> getUserList();
    }
    
    <?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">
    
           <!--namespace中是Dao中接口类位置-->
    <mapper namespace="com.Dao.UserDao">
        <select id="getUserList" resultType="pojo.user">
            select * from mybatis.user
        </select>
    </mapper>
    

    上述两个文件,放在一个包下,必须命名相同

    2.7 测试

    public class Test {
    
        @org.junit.Test
        public void test(){
           //第一步:获得SqlSession对象
            SqlSession sqlSession = mybatis_util.getSqlSession();
            //执行SQL
            UserDao mapper = sqlSession.getMapper(UserDao.class);
            List<user> userList = mapper.getUserList();
            for (user user : userList) {
                System.out.println(user);
            }
            //关闭SqlSession
            sqlSession.close();
          }
        }
    
    
    2

    个人博客为:
    MoYu’s Github Blog
    MoYu’s Gitee Blog

    展开全文
  • 什么是MyBatis.txt

    2019-07-25 17:55:49
    什么是MyBatis,MyBatis中面试可能会问到的问题。文档仅供参考。
  • 什么是MyBatis ?

    万次阅读 多人点赞 2017-12-03 00:23:56
    在介绍MyBatis之前先简单了解几个概念:ORM,JPA。ORMORM(Object-Relationship-Mapping):对象关系映射的意思,它一种思想,指将数据库中的每一行数据用对象的形式表现出来。JPAJPA(Java-Persistence-API)...
  • 什么是 MyBatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射...
  • 什么是mybatis

    2020-12-21 21:51:33
    什么是mybatis? mybatis是一款持久层框架(persistence framework),支持自定义sql,存储过程以及高级映射。由此避免了繁琐的代码。通过xml或注解的形式来映射数据。 mybatis核心类sqlSessionFactory ...
  • 第一章 什么是 MyBatis MyBatis 爱玩酷原创(https://www.iplayers.cn) 文章来自(第一章 什么是 MyBatis MyBatisMyBatis 世界上流行最广泛的 SQL 映射框架,由 Clinton Begin 在 2002 年创建,其后,捐献...
  • 什么是Mybatis

    2020-12-08 15:52:25
    1什么是Mybatis? MyBatis是一款优秀的支持自定义SQL查询、存储过程和高级映射的持久层框架,消除了几乎所有的JDBC代码和参数的手动设置以及结果集的检索。MyBatis可以使用XML或注解进行配置和映射,MyBatis通过将...
  • 什么是 MyBatis?2.如何获取mybatis3.什么是持久化(动作)4.什么是持久层(名词)5.为什么要使用MyBatis?6.MyBatis的特点(来自百科) 二、mybatis简介 1.什么是 MyBatisMyBatis 是一款优秀的持久层框架 它支持...
  • 什么是MyBatis

    2020-12-07 15:54:04
    什么是MyBatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 程序员直接编写原生态sql...
  • 介绍Mybatis与使用(什么是Mybatis?)

    千次阅读 2018-10-30 17:50:54
    一、什么是Mybatis? 在介绍Mybatis之前,抛出一个问题,什么是Mybatis呢?这里引用Mybatis官网http://www.mybatis.org/mybatis-3/的一段话来介绍什么是Mybatis。 What is MyBatis? 1、MyBatis is a first class ...
  • 什么是Mybatis? Mybatis是一个半自动化的持久层框架,一般我们都分为三层,控制层,业务层,持久层,所谓的持久层就是专门负责写入数据库的层次。 为什么说他是半自动化? Hibernate和jpa我们可以称为全自动化,...
  • 1.什么是mybatis

    2020-11-09 22:02:53
    1.1什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置...
  • 一、什么是mybatis的一级缓存? 当我们执行相同的sql语句时,mybatis会先查询一级缓存.(二级缓存开启时,会先走二级)减少db访问次数,提升效率.它是session级别的缓存,生命周期是一次会话.session关闭,一级缓存就失效了....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,360
精华内容 6,144
关键字:

什么是mybatis