Mybatis划分细讲(1)

目录

1. Mybatis---ORM框架

1.1 lombok

① 安装lombok插件 (认准小辣椒🌶)

② 引入lombok依赖

1.2 什么是框架?

1.3 什么是ORM?

1.4什么是 mybatis框架?

1.5 如何使用mybatis?

① 准备条件:先在Navicat数据库中创建一个我们需要的表

② 创建一个maven的Java工程。

③ 引入 mybatis的jar包 和 mysql的驱动jar包。

 ④ 创建相应的实体类和一个interface接口。(命名规范啥的相信大家都知道,在下也不献丑了)

 ⑤配置mybatis的配置文件---mybatis会读取该文件的内容完成连接我们数据库的功能。

 ⑥编写相应的映射文件。(sql语句 实体类与表的映射)

⑦ 把映射文件引入到mybatis配置文件中。

 ⑧ 开始测试(建立一个我们的测试类)


1. Mybatis---ORM框架

1.1 lombok

① 安装lombok插件 (认准小辣椒🌶)

  

 

 

② 引入lombok依赖

<groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.22</version>
    </dependency>

1.2 什么是框架?

框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架是直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度。

1.3 什么是ORM?

ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

1.4什么是 mybatis框架?

MyBatis 是支持普通 SQL 查询存储过程高级映射的优秀==ORM框架==。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 半自动化框架。必须写sql语句。

总结:mybatis就是封装与数据库交互的半成品。

1.5 如何使用mybatis?

① 准备条件:先在Navicat数据库中创建一个我们需要的表

create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME
VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES('Tom', 12);
INSERT INTO users(NAME, age) VALUES('Jack', 11);

② 创建一个maven的Java工程。

③ 引入 mybatis的jar包 和 mysql的驱动jar包。

如果有报红是说明咱们还没下载这些jar包,千万记得要点击保存下载按钮!(pom.xml的右上角,如下图所示)

 

jar包内容:

 <dependencies>
    <!--mysql驱动依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
    <!--mybatis的依赖-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
     <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>
</dependencies>

 ④ 创建相应的实体类和一个interface接口。(命名规范啥的相信大家都知道,在下也不献丑了)

 

 

 

 ⑤配置mybatis的配置文件---mybatis会读取该文件的内容完成连接我们数据库的功能。

<?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" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
</configuration>

 

 ⑥编写相应的映射文件。(sql语句 实体类与表的映射)

<?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.fan.dao.UserDao">
    <select id="SelectById" resultType="com.fan.entity.User">
        select * from users where id=#{id}
    </select>
</mapper>

 

 

⑦ 把映射文件引入到mybatis配置文件中。

 ⑧ 开始测试(建立一个我们的测试类)

 

 

查询我们id为2的用户信息;

运行结果如下:

 

 1.6 CRUD操作

① 引用我们junitjar包:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.1</version>
    <scope>test</scope>
</dependency>

开始测试:

 其余代码如下:

public class TestUserMapper {

    @Test
    public void testSelectAll()throws Exception{
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
        SqlSession session=sessionFactory.openSession();
        List<User> list = session.selectList("com.fan.entity.User.selectAll");
        System.out.println(list);
    }

    @Test
    public void testDelete(){

    }

    @Test
    public void testUpdate() throws Exception{
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
        SqlSession session=sessionFactory.openSession();
        User user = new User();
        user.setName("汪伟宁");
        user.setAge(17);
        user.setId(4);
        session.update("com.fan.entity.User.updateUser",user);
        session.commit();
    }

    @Test
    public void testSelectByid(){

    }
    @Test
    public void testInsert() throws Exception{
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
        SqlSession session=sessionFactory.openSession();
        User user = new User();
        user.setName("刘德华");
        user.setAge(18);
        int row = session.insert("com.fan.entity.User.addUser", user);
        System.out.println("影响的行数:"+row);  //mybatis默认是开启事务 需要手动提交。 TODO 讲解事务
        session.commit();//提交  安全。
    }
}

 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Mybatis是一个持久层框架,它支持定制化 SQL、存储过程和高级映射。Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。Mybatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)为数据库中的记录。 Mybatis 提供了对基本增、删、改、查操作的支持,还提供了对存储过程和高级映射的支持。Mybatis 还可以动态地生成 SQL,并将其映射到相应的 Java 对象。 Mybatis 的优点包括: - 灵活性高:Mybatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)为数据库中的记录。 - 简单易用:Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。 - 性能优越:Mybatis 可以动态地生成 SQL,并将其映射到相应的 Java 对象,使得用户可以更加灵活地控制 SQL 的执行。 Mybatis 的缺点包括: - 学习曲线较陡:Mybatis 的使用较为复杂,需要学 ### 回答2: Mybatis是一种流行的Java持久层框架,它用于简化数据库操作和与数据库的交互。其主要目标是通过减少编写重复的SQL代码来提高数据库访问性能。 Mybatis采用了一种将SQL语句与Java代码分离的方式。通过创建一个映射文件,我们可以定义SQL语句、输入参数和结果映射。该映射文件定义了数据库的操作,包括查询、插入、更新和删除等。 Mybatis提供了强大的映射功能,通过使用动态SQL,我们可以根据不同的条件生成不同的SQL语句。这种动态SQL的特性使得我们能够根据需求灵活地构建和执行SQL查询。 Mybatis还提供了多种执行器来执行SQL操作,例如简单执行器、重用执行器和批量执行器等。这些执行器可以根据应用程序的性能需求进行选择,以提供最佳的执行性能。 另一个Mybatis的重要特点是它支持与各种数据库交互。无论是关系型数据库如Oracle、MySQL还是非关系型数据库如MongoDB,Mybatis都可以提供良好的支持。 Mybatis还提供了一些高级特性,例如一级缓存和二级缓存。一级缓存是指在同一个SqlSession中执行的相同SQL语句的结果会被缓存起来,以提高查询性能。而二级缓存则是一级缓存的共享缓存,可以在多个SqlSession之间共享数据结果。 总结来说,Mybatis是一款轻量级、灵活且易于使用的持久层框架,它提供了许多强大的功能和特性,能够简化数据库操作,并提高应用程序的性能和可维护性。 ### 回答3: MyBatis是一个流行的持久层框架,用于用简化数据库操作的开发。它提供了一种将SQL语句与Java代码分离的方式,使得数据库的访问更加简单和灵活。 MyBatis将数据库操作转化为Java对象的方法,它使用XML或注解来描述数据库操作。通过配置映射关系,我们可以将结果集中的数据转换为Java对象,并将Java对象的属性映射到数据库中的表列。这种方式使得我们能够在Java代码中使用面向对象的方式来操作数据库,而无需编写大量的SQL语句。 使用MyBatis,我们可以定义一个接口,其中定义数据库操作的方法。这些方法可以有不同的输入参数,并可以返回不同的结果类型。然后,我们使用映射配置文件或注解来将接口方法与具体的SQL语句关联起来。MyBatis将负责执行SQL语句,并将结果映射为Java对象。 MyBatis的主要优势在于灵活性和可定制性。与其他ORM框架相比,MyBatis不会隐藏太多的细节,而是允许开发人员直接控制SQL语句的编写和执行。这使得开发人员能够更好地优化SQL查询,提高应用程序的性能。 此外,MyBatis还提供了缓存和事务管理等功能,以便进一步优化数据库操作。它支持许多常见的数据库,如MySQL、Oracle、SQL Server等,并且可以很容易地与各种Java框架集成。 总之,MyBatis是一个强大而灵活的持久层框架,能够简化数据库操作,提高应用程序的性能和可维护性。它是许多Java开发人员首选的工具之一,已经在业界得到广泛采用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值