当前位置: 首页 > 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();}
http://www.xdnf.cn/news/525961.html

相关文章:

  • 【计算机主板架构】ITX架构
  • [免费]苍穹微信小程序外卖点餐系统修改版(跑腿点餐系统)(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
  • 大模型(2)——提示工程(Prompt Engineering)
  • Qt与OpenGL绘制大全(加载obj模型文件、点、线、面、立方体、圆等)
  • 枪机定焦系统的自动控制装置
  • 健康生活指南:从日常细节开启养生之旅
  • RK3568下QT实现按钮切换tabWidget
  • CentOS7修改ip
  • npm 安装时 SSL 证书过期问题笔记
  • 计算机视觉与深度学习 | EMD-KPCA-LSTM、EMD-LSTM、LSTM回归预测对比,多输入单输出(Matlab完整程序和数据)
  • 【Python 算法零基础 4.排序 ② 冒泡排序】
  • c/c++的opencv均值函数
  • chrome源码中WeakPtr 跨线程使用详解:原理、风险与最佳实践
  • fnOS手机APP+NAS架构:破解跨地域数据实时访问的内网穿透难题
  • Linux笔记---内核态与用户态
  • Manus AI 突破多语言手写识别技术壁垒:创新架构、算法与应用解析
  • 智象科技:自动化模块驱动IT运维效能升级
  • pyspark测试样例
  • OpenCv(7.0)——银行卡号识别
  • 芯驰科技与安波福联合举办技术研讨会,深化智能汽车领域合作交流
  • Java知识点-Stream流
  • Maven配置安装
  • Unity入门学习(三)3D数学(3)之Vector3类的介绍
  • 15、Python布尔逻辑全解析:运算符优先级、短路特性与实战避坑指南
  • 使用 NGINX 的 `ngx_http_secure_link_module` 模块保护资源链接
  • 编译Qt5.15.16并启用pdf模块
  • 紫光同创FPGA实现AD9238数据采集转UDP网络传输,分享PDS工程源码和技术支持和QT上位机
  • PDF 合并测试:性能与内容完整性
  • 2025-5-19Vue3快速上手
  • 双指针算法:原理与应用详解