首页 > 其他分享 >MyBatis的CRUD操作:(简单实现)

MyBatis的CRUD操作:(简单实现)

时间:2024-03-27 21:29:36浏览次数:31  
标签:UserDao int CRUD sqlSession user 简单 MyBatis userDao id

MyBatis的CRUD操作:(简单实现)


文章目录


前言

在这里插入图片描述



提示:以下是本篇文章正文内容:

一、CRUD:create,read,update,delete


(1)Dao层接口:抽象方法

public interface UserDao {
    // 一个方法对应一个sql语句,

    //查询全部用户
    List<User> getUserList();
    
 	//根据id查询用户
    User getUserById(int id);

    //插入数据
    int insertUser(User user);

	//删除数据
    int deleteUserById(int id);
    
    //更新数据
    int updateUser(User user);
}

(2)在配置文件中,用标签写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.my.dao.UserDao">

    <!--查询全部用户-->
    <select id="getUserList" resultType="com.my.pojo.User">
        select * from user
    </select>

    <!--根据id查询用户-->
	<!--id就是参数,where的条件,prarmeterType就是确定where条件参数的类型-->
    <select id="getUserById" parameterType="int" resultType="com.my.pojo.User">
        select * from user where id = #{id}
    </select>

    <!--插入数据-->
    <insert id="insertUser" parameterType="com.my.pojo.User">
        insert into user (id,name,pwd)
        values (#{id},#{name},#{pwd});
    </insert>

    <!--更新数据-->
    <update id="updateUser" parameterType="com.my.pojo.User">
        update user
        set name = #{name},pwd = #{pwd}
        where id = #{id};
    </update>

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

(3)写sql语句的测试方法:Test标签:

1.查询select:


// 第一种:
@Test
    public void test(){
        // 1.获得SqlSession对象
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        // 返回一个接口类型
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        // 执行里面的方法
        List<User> userList = userDao.getUserList();//
        
        for(User user:userList){
            System.out.println(user);
        }

        // 2.关闭sqlSession
        // 一定要关闭,sqlsession,我们可以手动写一个trycatch方法来保证关闭。
        sqlSession.close();
    }

// 第二种
 @Test
    public void testSelect(){
        // 有两句话是死的:
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        // 获得当前结构绑定的class对象
        // 返回一个接口,我们不用去管它的实现,返回的就是一个具体的对象
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        User user = userDao.getUserById(1);//
        System.out.println(user);
        
        sqlSession.close();
    }

2.插入insert:


// 插入:
 @Test
    public void testInsert(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        int count = userDao.insertUser(new User(4,"zl","123456"));//
        if(count > 0){
            System.out.println("插入成功!");
        }
        //提交事务
        sqlSession.commit();
        
        sqlSession.close();
    }

3.删除delete:


// 更新:
    @Test
    public void testUpdate(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        int count = userDao.updateUser(new User(4,"wu","12345678"));// 
        if(count > 0){
            System.out.println("更新成功!");
        }
        //提交事务
        sqlSession.commit();
        
        sqlSession.close();
    }

4.修改update:


// 删除:根据id
@Test
    public void testDelete(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        int count = userDao.deleteUserById(4);// 
        if(count > 0){
            System.out.println("删除成功!");
        }
        //提交事务
        sqlSession.commit();
        
        sqlSession.close();
    }

总结

提示:这里对文章进行总结:

标签:UserDao,int,CRUD,sqlSession,user,简单,MyBatis,userDao,id
From: https://blog.csdn.net/m0_73922853/article/details/137055593

相关文章

  • 使用Python操作 xlsx 文件绘制雷达图原来这么简单!
    雷达图,听起来是不是很高大上?其实,它就是一种展示多维数据的可视化工具,形状像极了一个蜘蛛网,也被称为蜘蛛图或者星状图。最近我在做项目的时候,发现需要对多个指标进行综合评价,而雷达图正好能直观地展示出每个指标的优势和劣势。这样一来,我就可以更好地分析数据,找出问题的症结所......
  • Python学习——例题详解1、字符串简单加密和解密
    1、加密原理    基于按位异或(^),对字符串进行简单的加密算法原理:ord('A')^ord('P')#加密,运算结果:17chr(17^ord('p'))#解密,运算结果:‘A’2、例题    给定字符串text作为明文(要加密的原文,同上述A)和key作为密钥(同上述P),使用按位异或循环处理text的每一个......
  • 【Postman如何进行接口测试简单详细操作实例】
    1、下载Postmanpostman下载地址:DownloadPostman|GetStartedforFree2、安装Postman(1)双击下载好的postman-setup.exe文件,进行安装postman工具(2)安装完成后,在桌面找到并打开postman软件,输入邮箱和密码进行登录,没有就新建注册一个账号,登录进入到postman首页。3、大......
  • Python篇之网络编程,实现简单的服务端和客户端的内容传输
    本小节内容:实现简单的信息交流文章目录一、Socket介绍二、客户端与服务端三、在python中实现网络通信1.服务端2.客户端3.连接测试一、Socket介绍socket(简称套接字)模块是其内置的标准库之一,它实现了BSDsocketsAPI,允许开发者在Python程序中进行网络通......
  • 就是这么简单,Selenium StaleElementReferenceException 异常分析与解决
    简介Selenium是一个流行的自动化测试工具,用于模拟用户与网页交互。然而,当我们在使用Selenium时,可能会遇到一个常见的异常,即StaleElementReferenceException。这个异常通常在我们尝试与网页上的元素交互时抛出,可能会导致我们的自动化测试脚本运行失败。本文将深入探讨StaleE......
  • Spring整合Mybatis方式一 - 常规整合 - 注册映射器
    前置工作导包(mybatis-spring、mysql-connector-java、mybatis、spring-webmvc等)实体类DAO层两个文件(接口、xml文件);Service层的接口编写Spring管理mybatis的xml-spring-dao.xml核心代码(两种方式实现)第一种:xml<!--将会话工厂对象托管给spring--><beanid="sqlSess......
  • Python - inspect 模块的简单使用
    Python中的inspect模块解析Python的inspect模块是一个强大的内省工具,允许开发者检查(inspect)活动对象和源代码。它提供了一系列函数,用于获取信息关于正在运行的程序和调用堆栈,非常适合进行调试和动态分析。本文将通过介绍inspect模块的关键功能,并结合实际案例代码,来探索其在日常......
  • 鸿蒙TypeScript入门学习第一天【简单介绍】
    1.TypeScript教程TypeScript是JavaScript的一个超集,支持ECMAScript6标准()。TypeScript由微软开发的自由和开源的编程语言。TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何浏览器上。2、语言特性TypeScript是......
  • mybatis案例程序
    前置工作导包(mysql-connector-java、mybatis)实体类Mapper层1.接口publicinterfaceBookMapper{publicBookgetBookById(IntegerbookID);}2.创建Mapper的映射文件<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC&qu......
  • 用python创建一个简单的GUI程序,python小案例
    importtkinter这一行导入了tkinter库,这是Python中用于创建图形用户界面(GUI)的标准库之一importtkinterastk这一行同样导入了tkinter库,但是使用了as关键字给它起了一个别名tk,这样在代码中就可以使用tk来代替tkinter了,使代码更简洁。window=tk.Tk()创建一个Tkint......