当前位置: 首页 > news >正文

MyBatis入门指南

在这里插入图片描述

查询user表中所有数据

  1. 创建user表,添加数据
  2. 导入依赖,创建模块
  3. 编写MyBatis核心配置文件
  4. 编写SQL映射文件
  5. 编写代码
    1. 定义P0J0
    2. 加载核心配置文件,获取SqlSessionFactory对象
    3. 获取SqlSession对象,执行SQL语句
    4. 释放资源

一、创建user

use mybatis;  
drop table if exists tb_user;  create table tb_user(  id int primary key auto_increment,  username varchar(20),  password varchar(20),  gender char(1),  addr varchar(30)  
);  insert into tb_user values (1, '张三', '123', '男', '北京');  
insert into tb_user values (2, '李四', '234', '女', '天津');  
insert into tb_user values (3, '王五', '11', '男', '西安');

二、导入依赖

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.16</version>
</dependency>

三、编写MyBatis配置

<!-- 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="org.mariadb.jdbc.Driver"/>  <property name="url" value="jdbc:mariadb://localhost:3306/mybatis"/>  <property name="username" value="root"/>  <property name="password" value="20040927"/>  </dataSource>    </environment></environments>  
<mappers>  <!--加载SQL映射文件-->  <mapper resource="UserMapper.xml"/>  
</mappers>  
</configuration>

四、编写SQL映射文件

<!--UserMapper.xml-->
<?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名称空间-->  
<mapper namespace="test">  <select id="selectAll" resultType="cn.cangli.todo.pojo.User">  select * from tb_user;  </select>  
</mapper>

五、编写代码

public class TestUser {  @Test  public void testUser() throws IOException {  //1.加载mybatis的核心配置文件,获取SqlSessionFactory  String resource = "mybatis-config.xml";  InputStream inputStream = Resources.getResourceAsStream(resource);  SqlSessionFactory sqlSessionFactory =  new SqlSessionFactoryBuilder().build(inputStream);  //2.获取SqlSession对象,用他来执行Sql  SqlSession sqlSession = sqlSessionFactory.openSession();  //3.执行Sql  List<User> users = sqlSession.selectList("test.selectAll");  System.out.println(users);  //4.释放资源  sqlSession.close();  inputStream.close();  }  
}
@Mapper //标记Mapper接口
@Select("执行查询语句,返回结果")
@Insert("执行插入语句")
@Update("执行更新语句")
@Delete("执行删除语句")

基于注解的MyBatis

  1. 添加依赖: mybatismariadb驱动
  2. 配置数据库
     spring:datasource:url: jdbc:mariadb://localhost:3306/mybatisusername: rootpassword: rootdriver-class-name: org.mariadb.jdbc.Driver
    
  3. Mapper
	@Mapperpublic interface UserInfoMapper {@Select("select * from userinfo") //接口方法的实现List<UserInfo> getUserInfoAll();}

相关文章:

  • Java微服务架构实战:Spring Boot与Spring Cloud的深度整合
  • 代码审查服务费用受哪些因素影响?如何确定合理报价?
  • React 个人笔记 Hooks编程
  • C#接口的setter或getter的访问性限制
  • 论文阅读--Logical quantum processor based on reconfigurable atom arrays
  • Model 速通系列(一)nanoGPT
  • 智能开发工具PhpStorm v2025.1——增强AI辅助编码功能
  • uniapp打包H5,输入网址空白情况
  • 设计模式的原理及深入解析
  • Cursor日常配置指南
  • 【C++进阶篇】AVL树的实现(赋源码)
  • 元注解(Meta-Annotations)详解
  • 双条件拆分工作表,一键生成独立工作簿-Excel易用宝
  • Python将Excel单元格某一范围生成—截图(进阶版—带样式+批量+多级表头)
  • reserve学习笔记(花指令)
  • W3电力线载波通信技术
  • 项目删除了,为什么vscode中的git还是存在未提交记录,应该怎么删除掉
  • 系统安全应用
  • 系统安全及应用深度笔记
  • Android13 以太网(YT8531)
  • 戛纳参赛片《爱丁顿》评论两极,导演:在这个世道不奇怪
  • 建筑瞭望|从黄浦江畔趸船改造看航运设施的升级与利用
  • 纽约市长称墨西哥海军帆船撞桥事故已致2人死亡
  • 网警打谣:传播涉刘国梁不实信息,2人被处罚
  • 马上评|科学红毯,让科学家成为“最亮的星”
  • 广西百色“致富果”:高品质芒果直供香港,带动近五千户增收