搭建MyBatis开发环境及基本的CURD介绍

关于搭建MyBatis开发环境以及基本的CURD介绍,我们需要以下几步:

安装 Java SE环境

首先需要在本地安装好Java SE环境,通常使用官网提供的JDK安装包进行安装,安装完毕之后可以使用 java -version 命令查看安装是否成功。

安装和配置 Maven

Maven是一个Java项目管理工具,可以方便地管理Java项目中的依赖关系和构建过程。安装Maven之前需要先安装好Java环境。

  1. 下载Maven,可以在官网下载最新的稳定版本。

  2. 解压Maven安装包到本地任意目录。

  3. 配置系统环境变量

bash
# MAVEN_HOME为Maven解压后的目录
export MAVEN_HOME=/path/to/apache-maven-3.8.3
export PATH=${PATH}:${MAVEN_HOME}/bin

配置完成之后,可以在命令行执行 mvn -version 验证是否安装成功。

安装和配置 MySQL

MyBatis是一款开源的ORM框架,常常用于和关系型数据库进行交互。因此,在使用MyBatis的过程中,需要先搭建好本地的数据库环境。这里以MySQL为例介绍:

  1. 下载MySQL,可以在官网下载最新的稳定版本。

  2. 安装MySQL并启动服务。

  3. 创建一个数据库和表,可以使用以下命令:

sql
CREATE DATABASE mybatis_demo;
USE mybatis_demo;
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
PRIMARY KEY ( id )
);

添加MyBatis依赖和配置

  1. 在pom.xml文件中添加MyBatis的依赖:

xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>

  1. 在resources目录下创建一个名为mybatis-config.xml的文件,并添加以下内容:

```xml








```

其中,dataSource标签内的driver、url、username、password是连接本地数据库的必要参数。

  1. 在resources目录下创建一个名为UserMapper.xml的文件,并添加以下内容:

```xml

   <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
       <id column="id" property="id" jdbcType="INTEGER"/>
       <result column="name" property="name" jdbcType="VARCHAR"/>
       <result column="age" property="age" jdbcType="INTEGER"/>
   </resultMap>

   <sql id="Base_Column_List">
       id, name, age
   </sql>

   <select id="getUserById" parameterType="int" resultMap="BaseResultMap">
       select
       <include refid="Base_Column_List"/>
       from user
       where id = #{id,jdbcType=INTEGER}
   </select>

   <select id="getAllUser" resultMap="BaseResultMap">
       select
       <include refid="Base_Column_List"/>
       from user
   </select>

   <insert id="addUser" parameterType="com.example.demo.entity.User">
       insert into user (name, age)
       values (#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})
   </insert>

   <update id="updateUser" parameterType="com.example.demo.entity.User">
       update user
       set name = #{name,jdbcType=VARCHAR},
           age = #{age,jdbcType=INTEGER}
       where id = #{id,jdbcType=INTEGER}
   </update>

   <delete id="deleteUserById" parameterType="int">
       delete from user
       where id = #{id,jdbcType=INTEGER}
   </delete>

```

这里是一个简单的UserMapper,定义了几个CURD方法并定义了部分SQL语句。

代码示例

代码参考示例:(其中pom.xml的内容省略)

package com.example.demo;

import com.example.demo.dao.UserMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Main.class.getClassLoader().getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        try {
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

            // 查询单条数据
            int userId = 1;
            User user = userMapper.getUserById(userId);
            System.out.println(user);

            // 查询所有数据
            List<User> userList = userMapper.getAllUser();
            System.out.println(userList);

            // 新增一条数据
            User newUser = new User();
            newUser.setName("Test User");
            newUser.setAge(27);
            userMapper.addUser(newUser);
            sqlSession.commit();

            // 修改一条数据
            User updateUser = new User();
            updateUser.setId(1);
            updateUser.setName("Updated User");
            updateUser.setAge(30);
            userMapper.updateUser(updateUser);
            sqlSession.commit();

            // 删除一条数据
            userMapper.deleteUserById(1);
            sqlSession.commit();

        } finally {
            sqlSession.close();
        }
    }
}

其中,我们首先读取mybatis-config.xml配置文件,然后根据配置文件创建SqlSessionFactory,最后根据SqlSessionFactory创建SqlSession实例,并通过SqlSession实例获取UserMapper实例,从而进行CURD操作。

以上就是搭建MyBatis开发环境及基本的CURD介绍的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:搭建MyBatis开发环境及基本的CURD介绍 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 90分钟实现一门编程语言(极简解释器教程)

    让我们开始讲解“90分钟实现一门编程语言(极简解释器教程)”的完整攻略。 1. 环境准备 实现一门编程语言需要你有一定的编程经验,这里我们使用Python语言进行实现。请确保你已经安装好了Python。 2. 词法分析器 我们首先需要一个词法分析器,用于将源代码转换成令牌流。我们使用正则表达式匹配来实现对单词的识别。 import re #定义关键字、运算符…

    Java 2023年5月19日
    00
  • 微信小程序实现上传照片代码实例解析

    下面我将为你介绍一份完整的“微信小程序实现上传照片代码实例解析”的攻略。 1. 目标描述 本攻略的目标是从零开始使用微信小程序实现上传照片的功能。在完成本攻略后,你将能够轻松地了解如何使用微信小程序上传照片,为自己的项目添加上传照片的功能。 2. 实现思路 实现上传照片功能的思路可以总结为以下几个步骤: 添加<input>元素,用于选择要上传的照…

    Java 2023年5月23日
    00
  • 详解java线程的开始、暂停、继续

    当涉及到多任务处理时,线程是Java中非常重要的机制。但是,在开始了解Java线程如何开始、暂停、继续之前,我们需要先了解线程的基础知识。 什么是Java线程? Java线程是程序执行中的最小单元,与进程不同,线程是在一个进程中执行的代码片段,每个进程可以有多个线程,而每个线程都可以并行执行不同的任务。Java中的线程可以有效地帮助程序在执行中避免阻塞,从而…

    Java 2023年5月18日
    00
  • IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

    Sure,以下是如何使用IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的完整攻略。 1. 在pom.xml文件中添加构建配置 在Maven项目的pom.xml文件中添加构建配置,指定要编译到classes目录下的文件夹路径,例如: <build> <resources> <resource> &l…

    Java 2023年5月26日
    00
  • Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法

    前言: 在JSP应用中,session过期是一个比较常见的问题。如果session过期后用户还要操作应用,那么应用最好将用户跳转到登陆页面重新登录。但有时候,我们的应用页面嵌套在iframe中,而session过期后,如果直接跳转会导致页面跳出iframe,变得丑陋,影响用户体验。因此,本篇攻略就来介绍一种可行的方法,可以在session过期后跳转到登录页面…

    Java 2023年6月15日
    00
  • Java HttpClient-Restful工具各种请求高度封装提炼及总结

    Java HttpClient-Restful工具各种请求高度封装提炼及总结 Java中的HttpClient和Restful工具是一些非常实用的工具,可用于完成HTTP请求的各种操作。本文将介绍如何使用Java HttpClient和Restful工具来实现HTTP请求的高度封装,并提供一些示例来帮助读者更好地理解。 HttpClient工具 1.为什么需…

    Java 2023年5月26日
    00
  • 关于include标签导致js路径找不到的问题分析及解决

    问题分析: 在网页开发过程中,我们经常会使用到script标签的src属性来引入外部js文件。 例如: <script src="js/main.js"></script> 但是,如果我们在HTML文件中使用了include标签来包含其他的HTML文件时,可能会出现js文件路径找不到的问题,导致js代码无法被正常执…

    Java 2023年6月15日
    00
  • jsp servlet javaBean后台分页实例代码解析

    环境搭建 首先需要安装java开发环境,以及一个支持jsp、servlet开发的IDE,比如Eclipse、IntelliJ IDEA等。接下来创建一个web应用程序,将jsp、servlet等文件放在该应用程序的WEB-INF目录下。 数据库设计 在实现分页之前,需要准备好数据表。这里以用户表为例,设立以下字段信息:id – 用户idname – 用户名a…

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