MyBatis配置与CRUD超详细讲解

MyBatis配置与CRUD超详细讲解

一、MyBatis配置

MyBatis是一个优秀的持久层框架,它与Spring等其他框架集成时常常被作为数据层的框架。下面是MyBatis的基本配置流程。

1.1 导入MyBatis依赖

可以在pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.7</version>
    </dependency>
</dependencies>

1.2 配置数据源

mybatis-config.xml中配置数据源,这里使用MySQL作为例子。

<configuration>
    <!-- 配置数据库 -->
    <environments default="dev">
        <environment id="dev">
            <!--使用jdbc事务管理-->
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 配置Mapper文件 -->
    <mappers>
        <mapper resource="com/example/mappers/UserMapper.xml"/>
    </mappers>
</configuration>

1.3 Mapper文件

com.example.mappers下创建一个UserMapper.xml文件,用于存放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">

<!-- namespace -->
<mapper namespace="com.example.mappers.UserMapper">

    <!-- select 查询语句 -->
    <select id="selectById" resultType="com.example.bean.User">
        select * from tb_user where id=#{id}
    </select>

    <!-- insert 插入语句 -->
    <insert id="insertUser" parameterType="com.example.bean.User">
        insert into tb_user values(#{id},#{name},#{age})
    </insert>

</mapper>

二、CRUD操作的实现

通过配置完成MyBatis的基础配置后,可以开始进行CRUD操作的实现。下面简单实现一下查询和插入的操作。

2.1 查询操作

public class UserServiceImpl implements UserService{
    @Resource
    private UserMapper userMapper;

    @Override
    public User selectById(int id) {
        return userMapper.selectById(id);
    }
}

2.2 插入操作

public class UserServiceImpl implements UserService{
    @Resource
    private UserMapper userMapper;

    @Override
    public int insertUser(User user) {
        return userMapper.insertUser(user);
    }
}

其中,UserMapper是MyBatis自动生成的接口。

三、示例说明

3.1 示例一

查询操作示例:

User user = userService.selectById(1);
System.out.println(user.getName());

3.2 示例二

插入操作示例:

User user = new User();
user.setId(2);
user.setName("test");
user.setAge(18);
int rows = userService.insertUser(user);
System.out.println(rows);

以上就是MyBatis的基本配置以及CRUD操作实现的内容和示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis配置与CRUD超详细讲解 - Python技术站

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

相关文章

  • JavaScript XML实现两级级联下拉列表

    下面我将为你详细讲解“JavaScript XML实现两级级联下拉列表”的完整攻略。 简介 级联下拉列表指的是一个下拉列表的选项内容与上一个下拉列表的选择项相关联,通过选择上一个下拉列表中的某个选项,动态改变下一个下拉列表的选项内容。在本文中,我们将通过 JavaScript XML 实现两级级联下拉列表。 步骤 准备数据级联下拉列表的实现需要准备一组数据,…

    html 2023年5月30日
    00
  • 中文txt文档打开后乱码怎么办?

    下面是针对“中文txt文档打开后乱码怎么办?”的完整攻略。 问题描述 当我们使用文本编辑器打开中文txt文档时,如果遇到乱码,可能是由于文档编码格式不一致的问题导致的。 解决方案 为了解决这个问题,我们可以尝试以下几个步骤: 步骤1:检查文档编码格式 首先,我们需要判断一下文档的编码格式,如果是UTF-8格式,我们可以尝试打开文档时选择UTF-8编码格式,如…

    html 2023年5月31日
    00
  • CSS-@规则(At-rules)常用语法使用总结

    下面我来为您详细讲解CSS的@规则常用语法使用总结。 1.何为@规则 @规则是CSS中的一种特殊语法结构,以@符号开头,该符号之后紧跟着一个关键词,关键词定义了这个规则的名称和作用。主要用于向样式表中声明一些非标准的CSS特性,或者提供更高级的语言功能。 2. @规则语法 @规则有其特定的语法格式,包含关键词和后面的代码块。下面是一个一般的@规则语法示例: …

    html 2023年5月30日
    00
  • ThinkPHP打开验证码页面显示乱码的解决方法

    下面是详细讲解ThinkPHP打开验证码页面显示乱码的解决方法的攻略: 问题描述 在使用ThinkPHP框架开发项目时,当打开验证码页面时,会发现页面上出现了乱码。 问题原因 出现验证码页面乱码的原因是由于ThinkPHP默认的Session处理方式是保存在文件中,而验证码的生成需要用到Session,生成的验证码图片无法读取Session中存储的中文文本,…

    html 2023年5月31日
    00
  • Chrome谷歌浏览器提示adobe flash player已过期怎么办

    以下是“Chrome谷歌浏览器提示adobe flash player已过期怎么办”的完整攻略: Chrome谷歌浏览器提示adobe flash player已过期怎么办 如果您在使用Chrome谷歌浏览器时遇到“adobe flash player已过期”的提示,您可以按照以下步骤进行操作: 更新Chrome浏览器:首先,您需要更新Chrome浏览器。在…

    html 2023年5月18日
    00
  • 抖音视频带货怎么做入门教学

    以下是“抖音视频带货怎么做入门教学”的完整攻略: 抖音视频带货怎么做入门教学? 抖音视频带货是一种新型的电商模式,可以让商家通过在抖音上发布商品视频,吸引消费者的关注和购买。以下是一些操作步骤和攻略。 步骤1:了解抖音视频带货的基本概念 在开始抖音视频带货之前,需要了解一些基本概念,包括: 抖音:一款流行的短视频应用程序。 视频带货:一种电商模式,通过在视频…

    html 2023年5月18日
    00
  • Android 代码写控件代替XML简单实例

    关于“Android 代码写控件代替XML简单实例”的攻略,我会按照以下步骤讲解: 1.创建一个布局文件和对应的Activity 首先,我们需要创建一个布局文件和对应的Activity,这个Activity会用到我们后面创建的控件。在XML文件中添加如下代码: <LinearLayout xmlns:android="http://schem…

    html 2023年5月30日
    00
  • XML简易教程之二

    下面是关于 “XML简易教程之二”的完整攻略: 1. 什么是XML Schema? XML Schema是一种用于文档结构描述和数据有效性验证的语言。它可以用来定义和约束一个文档的元素、属性、类型和关系等方面的特征,同时也可以描述所约束的文档必须满足的规则和限制条件,从而让这些文档具有更高的整体质量和可读性。 2. XML Schema的语法规则 我们知道,…

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