首页 > 编程语言 >从零开始搭建基于 Maven 和 MyBatis 的 Java 项目

从零开始搭建基于 Maven 和 MyBatis 的 Java 项目

时间:2024-12-15 21:23:20浏览次数:7  
标签:xml Java 创建 Maven mybatis MyBatis java

从零开始搭建基于 Maven 和 MyBatis 的 Java 项目

1.修改IDEA中Maven的配置 (安转目录 本地仓库)
2.创建Maven工程
3.修改pom.xml文件中的配置信息 主要是 Maven 编译器插件(maven-compiler-plugin)
4.导入相关依赖坐标
5.创建pojo JavaBean 书写实体类
6.根据 实体类 编写SQL语句 建库建表 插入数据
7.创建mybatis-config核心配置文件 配置相关信息
8.创建外部资源文件 由mybatis核心配置文件关联 降低耦合性 硬编码的问题
9.创建接口映射文件XXXMapper.xml 书写SQL代码 由mybatis核心配置文件关联
10.书写SqlSessionUtils工具类 打开会话(是否自动提交事务)提交/回滚事务释放资源 释放资源
11.创建测试类 测试映射接口中的方法 释放资源

在现代 Java 开发中,Maven 和 MyBatis 是两个非常重要的工具。Maven 用于项目构建和依赖管理,而 MyBatis 则是一个优秀的持久层框架,能够简化数据库操作。本文将详细介绍如何从零开始,基于 Maven 和 MyBatis 搭建一个 Java 项目,并逐步完成项目的开发流程。


1. 配置 Maven 环境

在开始项目开发之前,首先需要确保 Maven 环境配置正确。以下是配置步骤:

1.1 修改 IDEA 中的 Maven 配置

  • 打开 IDEA,进入 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven
  • 配置 Maven 的安装目录(如 D:\apache-maven-3.8.6)。
  • 配置本地仓库路径(如 D:\maven-repository)。

1.2 验证 Maven 配置

  • 打开终端,输入 mvn -v,确保 Maven 版本信息正确显示。

2. 创建 Maven 工程

在 Maven 配置完成后,接下来创建一个 Maven 工程。

2.1 使用 IDEA 创建 Maven 工程

  • 打开 IDEA,选择 New Project -> Maven
  • 输入 GroupId(如 com.example)和 ArtifactId(如 mybatis-demo)。
  • 选择项目保存路径,点击 Finish

2.2 检查 Maven 工程结构

  • 确保项目结构如下:
    mybatis-demo
    ├── src
    │   ├── main
    │   │   ├── java
    │   │   └── resources
    │   └── test
    │       └── java
    └── pom.xml
    

3. 修改 pom.xml 文件

在创建 Maven 工程后,需要配置 pom.xml 文件,确保项目能够正确编译和运行。

3.1 配置 Maven 编译器插件

pom.xml 中添加以下内容:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

3.2 导入相关依赖

添加 MyBatis、MySQL 驱动等依赖:

<dependencies>
    <!-- MyBatis 依赖 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.9</version>
    </dependency>
    <!-- MySQL 驱动依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    <!-- JUnit 测试依赖 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>

4. 创建实体类(POJO)

实体类是数据库表的映射,通常包含属性和对应的 getter/setter 方法。

4.1 创建 User 实体类

src/main/java/com/example/pojo 目录下创建 User.java

public class User {
    private Integer id;
    private String username;
    private String password;

    // Getter 和 Setter 方法
}

5. 数据库设计和初始化

根据实体类,创建数据库表并插入测试数据。

5.1 创建数据库和表

使用以下 SQL 语句创建数据库和表:

CREATE DATABASE mybatis_demo;
USE mybatis_demo;

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

INSERT INTO user (username, password) VALUES ('admin', '123456');

6. 配置 MyBatis 核心文件

创建 MyBatis 的核心配置文件,配置数据库连接和映射器。

6.1 创建 mybatis-config.xml

src/main/resources 目录下创建 mybatis-config.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/mybatis_demo"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

7. 创建映射文件

映射文件用于将 SQL 语句与 Java 方法映射。

7.1 创建 UserMapper.xml

src/main/resources/com/example/mapper 目录下创建 UserMapper.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="getUserById" resultType="com.example.pojo.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>

8. 创建工具类和测试类

8.1 创建 SqlSessionUtils 工具类

src/main/java/com/example/utils 目录下创建 SqlSessionUtils.java

public class SqlSessionUtils {
    public static SqlSession getSqlSession() {
        return new SqlSessionFactoryBuilder().build(
            Resources.getResourceAsStream("mybatis-config.xml")
        ).openSession();
    }
}

8.2 创建测试类

src/test/java/com/example 目录下创建 UserMapperTest.java

public class UserMapperTest {
    @Test
    public void testGetUserById() {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();
    }
}

总结

通过以上步骤,我们成功搭建了一个基于 Maven 和 MyBatis 的 Java 项目。从环境配置到数据库操作,每一步都紧密相连,确保项目能够顺利运行。希望本文能够帮助你快速上手 Maven 和 MyBatis,开启你的 Java 开发之旅!


参考资料

如果你有任何问题或建议,欢迎在评论区留言!

标签:xml,Java,创建,Maven,mybatis,MyBatis,java
From: https://www.cnblogs.com/itcq1024/p/18608744

相关文章

  • node.js毕设基于Java的心理咨询预约系统 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于心理咨询预约系统的研究,现有研究主要以通用的预约系统或医院的预约系统为主[2] 。专门针对高校等特定场景基于Java的心理咨询预约系统的研究较少。......
  • 【Python应用】Jep:将Python无缝嵌入到Java应用程序中,充分发挥两种语言的潜力
    Python以其简洁的语法和丰富的库而闻名,而Java则以其性能和稳定性著称。如果能将两者的优势结合起来,将会产生巨大的开发效率提升。Jep(JavaEmbeddedPython)正是这样一个桥梁,它允许你将CPython无缝嵌入到Java应用程序中,从而充分发挥两种语言的潜力。Jep的核心功能:无缝衔接Java......
  • MyBatis 配置中的常见问题:解决 `Unknown DataSource property` 错误
    MyBatis配置中的常见问题:解决UnknownDataSourceproperty错误引言在使用MyBatis进行数据库操作时,配置文件的正确性至关重要。然而,在实际开发中,我们可能会遇到一些配置问题,比如UnknownDataSourceproperty错误。本文将详细分析这一问题的原因,并结合实际案例,帮助大家避......
  • web前端期末大作业:基于HTML+CSS+JavaScript制作我的音乐网站(带设计报告)
    ......
  • java&springboot&msyql进出校园门禁管理系统79219-计算机毕业设计 原创(附源码)
    摘 要信息化的进出校园门禁管理可以节省人力和物力,并且具有较高的精确性。随着计算机技术和网络技术的迅猛发展,进出校园门禁管理系统不断向着集成化、智能化、网络化与分布式的方向发展。本文主要针对目前大部分高校校园进出管理方式落后、管理效率低下的状况,结合当前最新......
  • 基于java+Springboot+MySQL微信小程序的大用户心理咨询系统设计与实现99040-计算机原
    目录1绪论1.1研究背景1.2研究现状1.3论文结构与章节安排2 基于微信小程序的大用户心理咨询系统设计与实现分析2.1可行性分析2.2系统功能分析2.3 系统用例分析2.4系统流程分析2.5本章小结3基于微信小程序的大用户心理咨询系统设计与实现总体设计......
  • Mybatis Plus 常规用法及其示例
    目录导包pom.xml配置文件修改application.yml启动类修改Mapper层修改注解@TableName("表名")@TableId("数据库中主键字段名","主键策略")@TableField("数据库中字段名")内置方法前置说明条件构造器插入intinsert(Tentity)删除intdeleteById(Serializableid)intd......
  • MyBatis详解---关联映射
    目录引入一、创建表结构1.学生表2.老师表二、查询学生对应的老师1.第一种形式连表查询 ①:设置实体类②:查询语句2.第二种形式分步查询(分段查询--支持懒加载)①:设置实体类②:查询语句三、查询教师的学生(一对多)1.第一种形式:按照结果嵌套处理 ①.设置实体类②......
  • 【学习总结|DAY018】Java异常、泛型、集合框架
    今天学习了Java集合框架,主要内容包括异常、泛型和集合框架。以下是对学习内容的总结,并辅以代码案例加深理解:一、异常异常是程序在编译或执行过程中可能出现的错误,例如数组索引越界、文件不存在等。Java异常体系分为Error和Exception两类,其中Error代表系统级别错误,而Exception......
  • java如何请求接口然后终止某个线程
    Java请求接口并终止线程在Java开发中,处理多线程操作是常见需求。有时我们需要在请求某个接口后,根据接口返回结果或其他条件,终止某个线程的执行。本文将详细介绍如何在Java中请求接口并终止特定线程的方法。一、请求接口1.1使用 HttpURLConnectionJava提供了多种方式进行HTTP......