Mybatis——使用步骤
创始人
2024-03-16 04:18:45
0

文章目录

  • 官网
  • Mybatis 使用步骤
    • 1、引入依赖
    • 2、创建 mybatis 核心配置文件
    • 3、创建 mapper 接口
    • 4、创建 mapper 映射文件
    • 5、创建会话执行 sql
    • 6、总结

官网

Mybatis 使用步骤

创建数据库表和实体类

表:tb_user

CREATE TABLE IF NOT EXISTS tb_user (id INT (5) NOT NULL PRIMARY KEY,NAME VARCHAR (45),age INT (3),sqlsex CHAR)

实体类:User

public class User {private int id;private String name;private int age;private String sex;
}

1、引入依赖

org.mybatismybatis3.5.7mysqlmysql-connector-java5.1.3

2、创建 mybatis 核心配置文件

核心配置文件存放的位置是 src/main/resources 目录下。

核心配置文件 mybatis-config.xml 用于配置 mybatis 相关的信息,主要用于配置连接数据库的环境以及MyBatis的全局配置信息。

核心配置文件中的标签按照需要配置,但之间有相对配置顺序: properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorF actory?,plugins?,environments?,databaseIdProvider?,mappers?

入门使用中一定要配置 environments 标签以操作数据库,配置 mappers 标签告诉 mybatis 去哪找映射文件,其他设置可以根据需要进行配置。



      s

3、创建 mapper 接口

mapper 仅仅是一个接口,不需要提供实现类,会通过 MyBatis 的强大的映射功能,将接口中的方法映射到对应映射文件中的 sql 语句,然后去操作数据库。

public interface UserMapper {User selectById(int id);
}

4、创建 mapper 映射文件

mapper 映射文件和 mapper 接口是一一对应的,在映射文件中编写 sql。





5、创建会话执行 sql

@Test
public void selectByIdTest() throws IOException {String resource = "mybatis-config.xml";//读取 MyBatis 核心配置文件InputStream inputStream = Resources.getResourceAsStream(resource);//创建 SqlSessionFactory 工程SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//获取 SqlSession 会话SqlSession sqlSession = sqlSessionFactory.openSession();//通过代理模式创建 UserMapper 接口的代理实现类对象UserMapper mapper = sqlSession.getMapper(UserMapper.class);//调用 UserMapper 接口中的方法,就可以根据 UserMapper 的全限定类名匹配映射文件,通过调用的方法名匹配映射文件中的 SQL 标签,并执行标签中的 SQL 语句。User user = mapper.selectById(1);System.out.println(user);
}

6、总结

映射关联关系

  • 通过核心配置文件中的 标签中的配置告诉 mybatis 去哪找映射文件;
  • 根据映射文件中 的设置,使得 mapper 接口匹配到对应的映射文件;
  • sql 标签中的 id 属性值对应接口中的方法名,建立方法与 sql 语句之间的映射;
  • sql 标签中的 resultType 属性值指定接收查询结果的实体类。需要使用全限定类名,为了简化书写,可以在核心配置文件中通过 标签指定别名来表示全限定类名。

接口名和映射文件名可以不一样,因为他们之间通过 建立联系,但建议接口名和映射文件一样。

实体类名和数据库表名可以不一样,因为他们之间通过 sql 标签中的 resultType 属性指定哪个实体类来接收。但建议实体类名和表名一致。

默认实体类的属性名是要和表中字段名一致,否则对应不上,不会报错,但该属性不会接收对应数据。实体类中的属性个数不一定要和表中字段个数一致,不会报错,只是查询到的结果可能不能完全对应接收。

相关内容

热门资讯

天舟九号货运飞船将今日发射 据中国载人航天工程办公室消息,目前,长征七号遥十运载火箭已完成推进剂加注,瞄准北京时间2025年7月...
兴市监处罚〔2025〕53号 兴市监处罚〔2025〕53号浏览:5次基本信息:处罚机关兴城市市场监督管理局处罚日期2025年07月...
(嘉)市监罚〔2025〕综39... (嘉)市监罚〔2025〕综39号浏览:7次基本信息:处罚机关嘉峪关市市场监督管理局处罚日期2025年...
康市监处罚〔2025〕114号 康市监处罚〔2025〕114号浏览:2次基本信息:处罚机关康平县市场监督管理局处罚日期2025年07...
20°C避暑神仙玩法!承包历史... 暑期来昆明想高效逛透城市精华该怎么规划呢下面这条以东风广场为起点的“宝藏圈”线路正合适这里既有穿越百...
大喔饭的创始人是谁? 大喔饭的创始人是谁?CEO是国内著名的青年创业导师林思源先生,毕业汕头大学,未及而立之年,已经是公司...
历史上默默无闻的人 历史上默默无闻的人很多人的是啊
屈玲妮哪里人 屈玲妮哪里人周庄人作为土生土长的周庄人,屈玲妮温婉的外表下却有一股惊人的韧劲。被任命为周庄镇党委书记...
有没很好听的关于暗恋适合男生唱... 有没很好听的关于暗恋适合男生唱的歌? 橘子汽水 很好听 校园风歌名:橘子汽水歌手:南拳妈妈专辑:2...
帮我写下元旦串词。第一个节目《... 帮我写下元旦串词。第一个节目《童年》小合唱。二年级组的。第二个《西班牙斗牛士》舞蹈四年级组。。。第只...