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日

相关文章

  • 腾讯云Ubuntu14.04安装Tomcat8教程

    腾讯云Ubuntu14.04安装Tomcat8教程 1. 安装OpenJDK 在Ubuntu14.04下使用如下命令安装OpenJDK: sudo apt-get update sudo apt-get install openjdk-7-jdk 2. 下载Tomcat8 官网下载地址:https://tomcat.apache.org/download-8…

    Java 2023年5月19日
    00
  • java如何读取某个文件夹中的全部文件(包括子文件夹)

    Java读取某个文件夹中的全部文件包括子文件夹,可以通过以下步骤实现: 获取要读取的文件夹路径 创建文件对象 遍历文件夹及其子文件夹中的所有文件,并将文件路径存储在List中 以下是完整的Java读取某个文件夹中的全部文件包括子文件夹的示例代码: 示例1:使用递归方法实现 import java.io.File; import java.util.Array…

    Java 2023年5月19日
    00
  • 宾馆客房管理系统(Java+SQL Server)

    源代码下载链接: 一、宾馆客房管理系统开发初衷   随着互联网技术的迅速发展,计算机技术的普及以及信息化时代的推波助澜,宾馆客房需求的逐渐增大,这也是挑战了宾馆客房管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的宾馆客房管理系统,提高了宾馆的工作效率,为想要入住宾馆的人提供更好的服务。宾馆客房管理工作面对大量顾客的私人信息,引入信…

    Java 2023年4月18日
    00
  • 浅谈Spring与SpringMVC父子容器的关系与初始化

    浅谈Spring与SpringMVC父子容器的关系与初始化 在SpringMVC中,Spring框架和SpringMVC框架是通过父子容器的方式进行协作的。本文将介绍Spring和SpringMVC父子容器的关系和初始化过程。 Spring和SpringMVC父子容器的关系 在SpringMVC中,Spring框架和SpringMVC框架是通过父子容器的方式…

    Java 2023年5月17日
    00
  • Java常用类库Apache Commons工具类说明及使用实例详解

    Java常用类库Apache Commons工具类说明及使用实例详解 什么是Apache Commons Apache Commons是一个旨在提供高质量、可重用的Java组件的项目。它由许多不同的子项目组成,提供了很多常用的工具类、数据结构和算法等功能。 常用的Apache Commons子项目 Apache Commons项目包含很多子项目,下面列举一些…

    Java 2023年5月19日
    00
  • Java多线程编程中使用DateFormat类

    在Java多线程编程中,DateFormat类是常用的日期格式化类。本篇攻略将详细讲解如何在多线程环境中正确使用DateFormat类。 为什么要使用DateFormat类 在Java编程中,处理日期时间是一个常见的需求。格式化Date对象为字符串、解析字符串为Date对象等都需要用到日期格式化类。DateFormat类是一种线程不安全的类,因为DateFo…

    Java 2023年5月18日
    00
  • JAVA如何按字节截取字符串

    截取一个字符串的一部分可以使用 substring() 方法,但是这种方式只能按照字符的数量来截取。如果需要按照字节截取,可以先将字符串转换为字节数组,然后再截取指定的字节数组部分,最后将这个字节数组转换回字符串。 具体的步骤如下: 将字符串转换为字节数组。 可以使用 getBytes() 方法将字符串转换为字节数组,例如: java String str …

    Java 2023年5月27日
    00
  • springboot使用消息中间件

    Spring Boot是一个快速构建应用程序的框架,它提供了许多常用的功能,如Web、数据访问、安全等。在Spring Boot中,我们可以使用消息中间件来实现异步通信,提高应用程序的性能和可伸缩性。以下是Spring Boot使用消息中间件的完整攻略: 添加消息中间件依赖 在Spring Boot中,我们可以使用Maven或Gradle来添加消息中间件依赖…

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