mybatis入门Idea搭建

一、概念

1、什么是mybatis?

MyBatis是一个开源的Java持久层框架 ,它提供了一种简化数据库访问的方式 。它的主要作用是将Java对象与数据库表之间进行映射,使开发者可以通过面向对象的方式操作数据库,而不需要编写大量的SQL语句 。MyBatis是一个orm框架。

2、MyBatis主要有那些几个作用?

  1. 对象关系映射(Object-Relational Mapping, ORM): MyBatis通过配置文件将Java对象与数据库表之间建立映射关系,可以方便地进行数据库操作,包括增删改查。
  2. **简化SQL操作:**MyBatis可以将复杂的SQL语句拆分为多个简单的SQL片段,并且可以通过参数动态地生成SQL语句,从而减少编写SQL的工作量。
  3. **提供灵活性:**MyBatis不会限制开发者的自由度,可以自定义SQL语句和映射规则,灵活适应各种复杂业务需求。
  4. **支持多种数据库:**MyBatis支持主流的关系型数据库,如MySQL、Oracle、SQL Server等,也支持一些非关系型数据库。

3、MyBatis适用场景

  1. 对数据库操作较为复杂、SQL语句较多的项目。
  2. 需要灵活控制SQL语句的生成和执行过程。
  3. 需要在代码和SQL之间建立良好的分离和解耦。
  4. 对数据库性能要求较高,需要高效地执行SQL语句。

MyBatis是一个优秀的持久层框架,它能够简化数据库访问的过程,提高开发效率,并且在各种复杂业务场景下都有良好的适应性。

二、搭建MyBatis框架环境

首先创建我们的maven项目

1、web.xml

修改web.xml由2.3至3.1

XML 复制代码
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

         version="3.1">

    <display-name>Archetype Created Web Application</display-name>
</web-app>

2、pox.xml更改

在pox.xml里面加载我们的插件和jia包

XML 复制代码
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>MyBatis</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>MyBatis Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <!-- ********************** junit单元测试依赖 ********************** -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!-- ********************** Java Servlet API  ********************** -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0</version>
            <scope>provided</scope>
        </dependency>

        <!-- ********************** Mybatis依赖 ********************** -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>

        <!-- ********************** Mysql JDBC驱动 ********************** -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>

        <!-- **********************  日志配置  ********************** -->
        <!--记得修改mybatis.cfg.xml添加如下内容-->
        <!--<setting name="logImpl" value="LOG4J2"/>-->
        <!--核心log4j2jar包-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.9.1</version>
        </dependency>
        <!--web工程需要包含log4j-web,非web工程不需要-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-web</artifactId>
            <version>2.9.1</version>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <!--解决mybatis-generator-maven-plugin运行时没有将XxxMapper.xml文件放入target文件夹的问题-->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <!--解决mybatis-generator-maven-plugin运行时没有将jdbc.properites文件放入target文件夹的问题-->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>jdbc.properties</include>
                    <include>*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <dependencies>
                    <!--使用Mybatis-generator插件不能使用太高版本的mysql驱动 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.44</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>

        <finalName>MyBatis</finalName>
    </build>
</project>

3、Jdbc.properties

XML 复制代码
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=mybatis_ssm
jdbc.password=123456

4、准备插件

进入设置、插件的位置搜索下载以下插件;

MybatisX

Mybatis generator

mybatis tools

maven helper

三、MyBatis的基础操作CRUD

相关推荐
麦烤楽鸡翅4 分钟前
小红书推荐系统(牛客)
java·python·算法·秋招·春招·牛客·面试算法题
C++业余爱好者19 分钟前
.NET线程池ThreadPool.QueueUserWorkItem
java·数据库·.net
.豆鲨包21 分钟前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java·缓存
superlls22 分钟前
(Java基础)集合框架继承体系
java·开发语言
云半S一23 分钟前
春招准备之MyBatis框架篇
经验分享·笔记·mybatis
宋哈哈27 分钟前
页面水印sdk源码
java·前端·javascript
你不是我我1 小时前
【Java 开发日记】我们来说一下 Mybatis 的缓存机制
java·spring·mybatis
咪咪渝粮1 小时前
112.路径总和
java·数据结构·算法
WKP94181 小时前
原型设计模式
java·设计模式
笃行客从不躺平1 小时前
SQL 注入复习
java·数据库·sql