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
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值