Idea工具创建MyBatis模板文件

本文详细介绍了MyBatis的配置过程及使用方法,包括JDBC配置文件设置、MyBatis配置文件详解、Mapper文件定义及MyBatis工具类实现。通过本文,读者可以了解到如何正确配置数据库连接及执行SQL语句。

一、JDBC配置文件

在这里插入图片描述

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://ip:3306/database?serverTimezone=UTC
jdbc.username=username
jsbc.password=keyword

在这里插入图片描述

二、Mybatis_config模板

在这里插入图片描述
位置6填入的代码

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="jdbc.properties"/>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!--这里使用连接池,更高效-->
            <dataSource type="POOLED">
                <property name="driver"   value="${jdbc.driver}" />
                <property name="url"      value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource=""/>
    </mappers>
</configuration>

在这里插入图片描述

三、Mapper文件

在这里插入图片描述

<?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">
<mapper namespace="">
    <select id="">
        SELECT * FROM 
    </select>
</mapper>

在这里插入图片描述

四、MyBatisUtil模板

在这里插入图片描述

package com.bees.dao;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtil {

    private static SqlSessionFactory sessionFactory = null;
    /*
     * 创建本地线程变量,为每一个线程独立管理一个session对象 每一个线程只有且仅有单独且唯一的一个session对象
     * 加上线程变量对session进行管理,可以保证线程安全,避免多实例同时调用同一个session对象
     * 每一个线程都会new一个线程变量,从而分配到自己的session对象
     */
    private static ThreadLocal<SqlSession> threadlocal = new ThreadLocal<SqlSession>();

    // 创建sessionFactory对象,因为整个应用程序只需要一个实例对象,故用静态代码块
    static {
        try {
            Reader reader = Resources.getResourceAsReader("Mybatis_config.xml");
            sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 返回sessionFactory对象 工厂对象
     *
     * @return sessionFactory
     */
    public static SqlSessionFactory getSessionFactory() {
        return sessionFactory;
    }

    /**
     * 新建session会话,并把session放在线程变量中
     */
    private static void newSession() {
        // 打开一个session会话
        SqlSession session = sessionFactory.openSession();
        // 将session会话保存在本线程变量中
        threadlocal.set(session);
    }

    /**
     * 返回session对象
     * @return session
     */
    public static SqlSession getSession(){
        //优先从线程变量中取session对象
        SqlSession session = threadlocal.get();
        //如果线程变量中的session为null,
        if(session==null){
            //新建session会话,并把session放在线程变量中
            newSession();
            //再次从线程变量中取session对象
            session = threadlocal.get();
        }
        return session;
    }

    /**
     * 关闭session对象,并从线程变量中删除
     */
    public static void closeSession(){
        //读取出线程变量中session对象
        SqlSession session = threadlocal.get();
        //如果session对象不为空,关闭sessoin对象,并清空线程变量
        if(session!=null){
            session.close();
            threadlocal.set(null);
        }
    }

}

在这里插入图片描述

<think>好的,我现在需要帮助用户在IntelliJ IDEA 2024中创建一个MyBatis项目。首先,我需要回忆一下相关的步骤,并结合用户提供的引用内容来确保信息的准确性。 用户提到了几个引用,其中引用[3]直接涉及在IntelliJ IDEA创建MyBatis工程和环境搭建的步骤。根据引用[3],创建MyBatis项目的步骤包括通过File -> New -> Project来新建项目,选择Maven,并添加必要的依赖。此外,引用[2]提到配置代码模板,比如mybatis-config.xml,这可能在项目创建后需要进一步设置。引用[4]虽然主要讲Spring Boot,但其中关于依赖选择的部分可能对配置MyBatis有帮助,比如添加Spring相关依赖时需要注意的模块。 首先,用户需要安装正确版本的IntelliJ IDEA 2024。确保软件是最新的,以避免兼容性问题。接着,创建新项目时,用户应选择Maven项目,因为这是Java项目管理依赖的常用工具。在项目创建过程中,需要填写GroupId和ArtifactId,这些是Maven项目的标准坐标,用于唯一标识项目。 接下来,添加依赖是关键步骤。根据MyBatis的官方文档,通常需要添加MyBatis核心库和数据库驱动,比如MySQL或H2。如果项目需要与Spring集成,还需添加MyBatis-Spring适配器。这里需要注意,用户是否需要Spring集成,根据引用[4],如果用户希望创建Spring Boot项目,可能需要选择不同的依赖,但用户的问题集中在MyBatis上,因此可能不需要Spring Cloud相关的依赖,除非用户特别提到。 创建完项目后,配置mybatis-config.xml文件是必要的。根据引用[2],在File and Code Templates中可以创建模板,但用户可能需要手动创建这个配置文件,或者通过插件生成。引用[1]提到的MyBatis Log Plugin可能对调试有帮助,但可能不是创建项目时的必要步骤,但可以作为优化建议提供给用户。 在编写代码部分,用户需要创建实体类、Mapper接口和XML映射文件。根据MyBatis的规范,XML文件需要正确配置命名空间和SQL语句。同时,确保在mybatis-config.xml中正确指定Mapper XML文件的位置,或者在应用配置类中使用注解扫描Mapper接口。 测试部分,用户需要加载配置,获取SqlSession,并执行数据库操作。这里可能需要一个简单的测试类,使用JUnit或其他测试框架来验证数据库连接和CRUD操作是否正常。 可能遇到的问题包括依赖未正确添加导致类找不到,或者XML映射文件未被正确识别。此时需要检查pom.xml中的依赖版本,以及mybatis-config.xml中的资源配置是否正确。另外,数据库连接信息的正确性也是关键,比如URL、用户名和密码是否正确。 用户可能还会询问如何集成Spring Boot,这时候可以参考引用[4]中提到的Spring Boot项目创建步骤,添加Spring Boot Starter和MyBatis-Spring-Boot-Starter依赖,以简化配置。但根据当前问题,可能不需要深入这部分,除非用户后续提问。 总结步骤:安装IDEA创建Maven项目、添加依赖、配置MyBatis核心文件、编写代码和映射文件、测试。同时,可以建议用户使用MyBatis Log Plugin来辅助调试SQL语句,如引用[1]所述,但需注意用户是否需要这部分内容。</think>以下是在 IntelliJ IDEA 2024 中创建 MyBatis 项目的分步教程: --- ### **步骤 1:创建 Maven 项目** 1. 打开 IntelliJ IDEA,选择 **File -> New -> Project** 2. 在左侧选择 **Maven**,勾选 **Create from archetype**,选择默认的 **maven-archetype-quickstart** 3. 填写项目基本信息: - **GroupId**: `com.example` - **ArtifactId**: `mybatis-demo` - **Version**: 保持默认 4. 点击 **Next** 完成创建[^3] --- ### **步骤 2:添加 MyBatis 依赖** 在 `pom.xml` 中添加以下依赖: ```xml <dependencies> <!-- MyBatis 核心 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency> <!-- 数据库驱动(以 MySQL 为例) --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> </dependencies> ``` --- ### **步骤 3:配置 MyBatis 核心文件** 1. 在 `src/main/resources` 目录下新建 `mybatis-config.xml`: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.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.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <!-- 后续添加 Mapper XML 文件路径 --> </mappers> </configuration> ``` (需替换数据库连接信息)[^2] --- ### **步骤 4:编写实体类和 Mapper** 1. 创建实体类 `User.java`: ```java public class User { private int id; private String name; // 省略 Getter/Setter } ``` 2. 创建 Mapper 接口 `UserMapper.java`: ```java public interface UserMapper { User selectUser(int id); } ``` 3. 创建 Mapper XML 文件 `UserMapper.xml`: ```xml <?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"> <mapper namespace="com.example.mapper.UserMapper"> <select id="selectUser" resultType="com.example.entity.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` --- ### **步骤 5:测试代码** ```java public class MyBatisDemo { public static void main(String[] args) throws Exception { try (SqlSession session = new SqlSessionFactoryBuilder() .build(Resources.getResourceAsStream("mybatis-config.xml")) .openSession()) { UserMapper mapper = session.getMapper(UserMapper.class); User user = mapper.selectUser(1); System.out.println(user.getName()); } } } ``` --- ### **常见问题** - **依赖冲突**:检查 `pom.xml` 中依赖版本是否兼容 - **XML 文件未加载**:确保 `mybatis-config.xml` 的 `<mappers>` 标签中配置了 XML 路径,例如: ```xml <mapper resource="com/example/mapper/UserMapper.xml"/> ``` --- ### **优化建议** 1. 使用 **MyBatis Log Plugin** 插件([引用1])实时查看生成的 SQL 语句 2. 通过 **File and Code Templates**([引用2])快速生成 MyBatis XML 模板 3. 若需整合 Spring Boot,可参考 Spring Initializr 配置([引用4]) ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值