Mybatis 官网: https://mybatis.org/mybatis-3/zh/getting-started.html

namespace 命名空间

namespace绑定一个对应的 Dap/Mapper 接口

<!--namespace: 绑定一个对应的 Dao/Mapper 接口-->
<mapper namespace="com.pro.dao.UserMapper"> <!-- id: 绑定接口中方法 -->
<select id="getUserList" resultType="com.pro.pojo.User">
select * from user
</select>
</mapper>

select

查询语句

  • id:绑定 namespace 中接口的方法
  • resultType:SQL返回值类型
  • parameterType:参数类型

编写接口

// 根据id查询用户
User getUserById(int id);

编写SQL

<!--  根据id查询用户  -->
<select id="getUserById" resultType="com.pro.pojo.User" parameterType="int">
select * from user where id = #{id}
</select>

测试

@Test // 根据id查询用户
public void getUserById() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserById(1);
System.out.println("getUserById --> " + user); // 关闭资源
sqlSession.close();
}

insert

增删改操作都差不多,这里就演示 insertupdatedelete 就只写了 SQL

注意点:增删改需要提交事务

接口

// 新增用户
int addUser(User user);

SQL

<!--  新增用户, 对象中的属性可以直接拿出来用  -->
<insert id="addUser" parameterType="com.pro.pojo.User">
insert into user(name,pwd) values(#{name},#{pwd})
</insert>

测试

@Test // 新增用户
public void addUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User(0, "test", "123456");
int test = mapper.addUser(user); // 提交事务
sqlSession.commit();
sqlSession.close();
}

update

需要提交事务

<!--  修改用户  -->
<update id="updateUserById" parameterType="com.pro.pojo.User">
update user set name = #{name}, pwd = ${pwd} where id = #{id}
</update>

delete

需要提交事务

<!--  删除用户  -->
<delete id="deleteUserById" parameterType="int">
delete from user where id = #{id}
</delete>

Mybatis的CRUD 增删改查的更多相关文章

  1. Mybatis实现简单增删改查

    Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...

  2. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  3. 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序

    使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...

  4. Mybatis入门之增删改查

    Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...

  5. 前端的CRUD增删改查的小例子

    前端的CRUD增删改查的小例子 1.效果演示 2.相关代码: <!DOCTYPE html> <html lang="en"> <head> & ...

  6. MyBatis -- 对表进行增删改查(基于注解的实现)

    1.MyBatis对数据库表进行增/删/改/查 前一篇使用基于XML的方式实现对数据库的增/删/改/查 以下我们来看怎么使用注解的方式实现对数据库表的增/删/改/查 1.1  首先须要定义映射sql的 ...

  7. Spring Boot 使用Mybatis注解开发增删改查

    使用逆向工程是遇到的错误 错误描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...

  8. 基于SSM之Mybatis接口实现增删改查(CRUD)功能

    国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...

  9. yii2-basic后台管理功能开发之二:创建CRUD增删改查

    昨天实现了后台模板的嵌套,今天我们可以试着创建CRUD模型啦 刚开始的应该都是“套用”,不再打算细说,只把关键的地方指出来. CRUD即数据库增删改查操作.可以理解为yii2为我们做了一个组件,来实现 ...

随机推荐

  1. beautifulsoup使用记录

    1.关于编码问题, 被编码为了?号,解决办法是:content.prettify(formatter="html"),这样 存到数据库里面的就是html代码.

  2. eclipse/myeclipse 使用技巧

    一.变量名自动补全 原理是:在输入变量名后,去掉按下空格或=后,代码上屏 以前只知道alt+/调出assist,后来发现可以所有字母都激活content assist(8.1里有写).用起来果然很爽, ...

  3. 二、Linux文件系统结构

    为了方便管理文件和目录,Linux 系统将它们组织成一个以根目录 / 开始的倒置的树状结构.Linux 中的目录,和 Windows 系统中的文件夹类似,不同之处在于,Linux 系统中的目录也被当做 ...

  4. Docker(六):Docker安装Kibana

    查找Kibana镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull kibana:7.7.0 查看镜像 docker images 创建Kibana容器 ...

  5. web服务器专题:tomcat(二)模块组件与server.xml 配置文件

    web服务器专题:tomcat(二)模块组件与server.xml 配置文件 回顾: Web服务器专题:tomcat(一) 基础模块 一个Server.xml的实例 <?xml version= ...

  6. 实验3 C语言分支语句和循环语句编程应用(友好猜日期^_^)

    实验任务一 #include <stdio.h> #include <math.h> int main(){ float a, b, c, x1, x2; float delt ...

  7. PP主数据-物料主数据

    一.PP物料主数据:PP的物料主数据,是对应到系统的组织架构的,不同的组织层次,都有各自的主数据需要创建. (1),一般数据:一般数据是在集团层面的主数据,主要包括:物料编码.物料描述.辅助计量单位以 ...

  8. Linux USB子系统(一)—— USB设备基础概念

    一.基础概念 在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的.一个USB设备由3个功能模块组成:USB总线接口 ...

  9. Java学习日报7.13

    /** * *//** * @author 86152 * */package Employee;import java.util.Scanner;public class Employee{ pri ...

  10. 二本非科班,秋招,实习,面试,offer之路

    不知不觉已经工作一年多的,我是2019年7月毕业的,但是如果算上实习就工作差不多两年了的吧. 最近不是刚刚过了圣诞节吗?然后又准备到元旦了,迎来2021年!在微信公众号上看到小部分公众号在总结2020 ...