Mybatis实现增删改查

下面是详细讲解MyBatis实现增删改查的完整攻略:

1.添加MyBatis配置文件

在项目下创建mybatis-config.xml配置文件,其中包含对mybatis初始化相关配置信息,如数据源、别名、 mapper扫描等。

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig3.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="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_test?useUnicode=true&amp;characterEncoding=UTF8" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/DeptMapper.xml"/>
    </mappers>
</configuration>

2.添加映射文件

resources文件夹下创建com/example/mapper/DeptMapper.xml文件,其中定义了具体的CRUD操作(例如:增删改查等),如下示例所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.DeptMapper">

    <!-- 根据id查询部门 -->
    <select id="getDeptById" parameterType="long" resultType="com.example.entity.Dept">
        select * from dept where id=#{id}
    </select>

    <!-- 新增部门 -->
    <insert id="addDept" parameterType="com.example.entity.Dept">
        insert into dept(name,address) values(#{name},#{address})
    </insert>

    <!-- 更新部门 -->
    <update id="updateDept" parameterType="com.example.entity.Dept">
        update dept set name=#{name},address=#{address} where id=#{id}
    </update>

    <!-- 删除部门 -->
    <delete id="deleteDeptById" parameterType="long">
        delete from dept where id=#{id}
    </delete>

</mapper>

3.添加实体类

public class Dept {
    private Long id;
    private String name;
    private String address;
    //getter and setter method
}

4.添加Mapper接口

public interface DeptMapper {
    // 根据id查询部门
    Dept getDeptById(Long id);

    // 新增部门
    int addDept(Dept dept);

    // 更新部门
    int updateDept(Dept dept);

    // 删除部门
    int deleteDeptById(Long id);
}

5. MyBatis映射接口和SQL语句的绑定

applicationContext.xml文件中,配置mybatisMapperScannerConfigurer,例如:

<!-- 扫描Mapper接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.example.mapper"/>
</bean>

6. 测试

//获取Spring上下文
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取Mapper
DeptMapper deptMapper = applicationContext.getBean(DeptMapper.class);

//查询
Dept dept = deptMapper.getDeptById(1L);
System.out.println(dept);

//新增
Dept dept1 = new Dept();
dept1.setName("test-1");
dept1.setAddress("address-1");
int addDept = deptMapper.addDept(dept1);
System.out.println(addDept);

//更新
dept.setAddress("updated-address");
int updateDept = deptMapper.updateDept(dept);
System.out.println(updateDept);

//删除
int deleteDept = deptMapper.deleteDeptById(1L);
System.out.println(deleteDept);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis实现增删改查 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java字符串查找的三种方式

    Java字符串查找有多种方式,其中比较常见的有三种:indexOf()、lastIndexOf()和contains(),下面分别进行详细讲解。 使用indexOf()方法查找字符串 indexOf()方法将返回指定字符串在当前字符串中第一次出现的位置。该方法属于String类,它有多个重载版本,可以根据传入的参数来控制查找的起点和查找的方向。例如: Str…

    Java 2023年5月26日
    00
  • java实现基于UDP协议的聊天小程序操作

    Java实现基于UDP协议的聊天小程序操作攻略 本攻略将介绍如何使用Java语言实现基于UDP协议的聊天小程序操作,包括构建UDP数据报文,实现消息的发送和接收等。 步骤一、创建UDP通信 首先,需要创建UDP通信的Socket,使用Java自带的DatagramSocket类即可。代码如下: DatagramSocket socket = new Data…

    Java 2023年5月23日
    00
  • 如何通过Java代码实现KMP算法

    下面我将为你讲解“如何通过Java代码实现KMP算法”的完整攻略。 1. 什么是KMP算法? KMP算法是一种字符串匹配算法,其全称是Knuth-Morris-Pratt算法,其主要思想是在匹配过程中充分利用已知信息,尽可能地减少比较次数,从而达到快速匹配的目的。 2. KMP算法的实现过程 2.1 计算字符串的next数组 在KMP算法中,关键在于如何计算…

    Java 2023年5月18日
    00
  • SSH框架网上商城项目第27战之申请域名空间和项目部署及发布

    针对这个主题,我为您提供完整的SSH框架网上商城项目第27战之申请域名空间和项目部署及发布的攻略,具体步骤如下: 一、申请域名和空间 1. 选择合适的空间服务提供商 互联网上有很多提供空间租用服务的供应商,可以根据需求选择一家合适的提供商,这里以腾讯云为例。 2. 注册和申请域名 在腾讯云注册账号后,可以进入域名注册页面,输入需要注册的域名,如果该域名未被注…

    Java 2023年6月2日
    00
  • java 通过cmd 调用命令启动tomcat的操作

    启动Tomcat服务器一般有两种方式: 通过启动脚本启动Tomcat服务器 通过命令行启动Tomcat服务器 下面我将详细介绍如何通过Java代码通过命令行启动Tomcat服务器,以及实现该操作所需要的各种准备工作。 准备工作 在进行下面的步骤之前,需要确保机器上已经安装Java,并且已经配置好了环境变量。此外,也需要下载和安装Tomcat服务器,确保Tom…

    Java 2023年5月19日
    00
  • java教程之java程序编译运行图解(java程序运行)

    我们来详细讲解一下“java教程之java程序编译运行图解(java程序运行)”的完整攻略。 1.什么是Java程序编译 Java程序编译的过程是指将Java源代码(.java文件)编译成Java字节码(.class文件)的过程。在Java编程中,编写的源代码并不能直接运行,需要通过编译成字节码后,才能在Java虚拟机上进行执行。Java编译器可以检查代码中…

    Java 2023年5月20日
    00
  • JAVA实现简单停车场系统代码

    下面是实现简单停车场系统代码的攻略。 1. 简介 这是一个基于Java语言实现的停车场系统,主要功能包括车辆进出场、计算停车费用等。 2. 实现步骤 2.1 创建车辆类 首先,在Java中创建一个车辆类,包含车牌号、进场时间和出场时间等属性,以及进场和出场方法,用于记录车辆的进出时间。 示例代码: public class Car { private Str…

    Java 2023年5月19日
    00
  • vue.js数据响应式原理解析

    Vue.js数据响应式原理解析 Vue.js是一个极易上手,功能强大的Javascript框架,它的核心就是数据响应式系统。在Vue.js中,我们可以轻松的绑定数据和视图,而这一切都得益于Vue.js的数据响应式系统。在本篇文章中,我们将深入剖析Vue.js数据响应式原理。 数据响应式系统란? Vue.js的数据响应式系统简单来说,就是一种将ViewMode…

    Java 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部