IDEA创建springboot+mybatis项目(java8 和java21可行)

IDEA创建springboot+mybatis项目(java8 和java21可行)

今天博主讲一下,IDEA创建springboot+mybatis项目的文章。
步骤分别是如下几步:

1. 创建maven项目

2. 配置pom.xml文件

3. 创建目录结构

4. 创建配置项目文件

5. 生成创建数据库,并创建表

6. 创建测试实例并测试

首先,我们来看一下最终项目的框架结构,防止大家配置过程中是否漏了文件,另外,如果有的配置文件博主没有附上代码,可以评论告知我。在这里插入图片描述

1. 创建maven项目

点击file 选择project 选择spring initializr项目
在这里插入图片描述

点击next
填写groupid和artifactId:

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
  groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
  比如我创建一个项目,我一般会将groupId设置为cn.snowin,cn表示域为中国,snowin是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.zr.testProj打头的,如果有个StudentDao,它的全路径就是cn.snowin.testProj.dao.StudentDao
在这里插入图片描述

注意 Type一定要选择Maven类型

如果你本机安装java21就选 21 本机安装8就选8 安装17就选17 。

点击next:
开始选择配置项;
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
如果你想用mysql和mybatis框架选这两个就行。

然后点击next,最后创建好之后:

2. 配置pom.xml文件

配置pom.xml文件:

注意 <java.version>1.8</java.version> 如果你是java21 也要这么写,否则,springframework版本会和java21冲突,当然你可以提高springframework版本。但是推荐2.x版本

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>org.suncaper</groupId><artifactId>spnaims</artifactId><version>0.0.1-SNAPSHOT</version><name>spnaims</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-modulith.version>1.1.0</spring-modulith.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>RELEASE</version><scope>compile</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.modulith</groupId><artifactId>spring-modulith-bom</artifactId><version>${spring-modulith.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><scope>provided</scope></exclude></excludes></configuration></plugin></plugins></build></project>

3. 创建目录结构

在这里插入图片描述
创建controller dao domain service mapper impl 五个package或者文件夹

4. 配置项目文件

首先创建mybatis.xml文件,但是这个文件先不用,可以后期自行配置
在这里插入图片描述
然后我们主要配置
application.properties文件


mybatis.type-aliases-package=com.suncaper.spnaims
#mysql驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#远程数据库链接 serverTimezone不可少
#emps为我们的数据库名字spring.datasource.url=jdbc:mysql://localhost:3306/emps?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
#MySQL数据库用户名、密码
spring.datasource.username=root
#自行更改密码
spring.datasource.password=123456
#xml格式的mapper文件位置#mybatis文件读取配置,很重要哈
mybatis.mapper-locations=classpath:/mapper/*.xml

5. 生成创建数据库,并创建表

创建数据库


create database emps;

创建数据表


use emps;create table student( sno int,sname varchar(20) ,sage int);

数据表生成结构如下:
我们可以自行插入几个数据进行测试。

在这里插入图片描述

6. 创建测试实例并测试

在这里插入图片描述

配置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 = "org.suncaper.spnaims.dao.StudentMapper"><insert id="insert" parameterType="org.suncaper.spnaims.domain.Student" >INSERT INTO student (Sno,Sname,Sage) VALUES (#{sNo},#{sName},#{sAge})</insert><select id="select" parameterType="int" resultType="org.suncaper.spnaims.domain.Student">select *  from student</select>
</mapper>

分别创建如下接口和类文件:
在这里插入图片描述
StudentController.class

package org.suncaper.spnaims.controller;import org.suncaper.spnaims.domain.Student;
import org.suncaper.spnaims.dao.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.suncaper.spnaims.service.IStudentService;import java.util.ArrayList;@RestController
public class StudentController {@Autowired()private IStudentService studentService;@RequestMapping("/")public String index() throws Exception {studentService.insert(new Student(2, "张三", 18));return "OK";}@RequestMapping("/showdata")public String showdata() throws Exception {String s=studentService.select(2);String data="the sql of student is:";return s;}
}

StudentMapper接口文件:

package org.suncaper.spnaims.dao;import org.suncaper.spnaims.domain.Student;
import org.apache.ibatis.annotations.Mapper;import java.util.ArrayList;@Mapper
public interface StudentMapper {void insert(Student student);void delete(String sNo);Student selectByNumber(Integer sNo);void updateName(Student student);ArrayList<Student> select(int id);
}

Student类:

public class Student {public int sNo;public String sName;public int sAge;public Student(int sNo, String sName, int sAge) {this.sNo = sNo;this.sName = sName;this.sAge = sAge;}public String toString(){return "id:"+sNo+"name:"+sName+"age:"+sAge;}//Getter、Setter方法,我省略了,你在代码中别省略
}

StudentServiceImpl类:

package org.suncaper.spnaims.service.impl;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.suncaper.spnaims.dao.StudentMapper;
import org.suncaper.spnaims.domain.Student;
import org.suncaper.spnaims.service.IStudentService;import java.util.ArrayList;@Service
public class StudentServiceImpl implements IStudentService {@Autowired()private StudentMapper studentMapper;public String select( int id){ArrayList<Student> students=studentMapper.select(id);String data="the sql of student is:";for (Student user:students) {data=data+user.toString();}return students.toString();}public  void insert(Student usr){studentMapper.insert(usr);}}

IStudentService接口:

package org.suncaper.spnaims.service;import org.suncaper.spnaims.domain.Student;public interface IStudentService {public String select(int id);public void insert(Student usr);}

DemoApplication 主类:

package org.suncaper.spnaims;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

之后我们就可以运行我们的代码了

点击绿色箭头:
在这里插入图片描述
然后运行:

在这里插入图片描述
测试结果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/344492.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[前车之鉴] SpringBoot原生使用Hikari数据连接池升级到动态多数据源的深坑解决方案 RocketMQ吞掉异常问题排查

文章目录 背景说明蒙蔽双眼口说无凭修补引发的新问题解决配置问题 本地监控佐证万法归元 背景说明 当前业务场景我们使用原生SpringBoot整合Hikari数据源连接池提供服务&#xff0c;但是近期业务迭代需要使用动态多数据源&#xff0c;很自然想到dynamic-source&#xff0c;结果…

如何把本地项目一次性上传github(避免一个一个上传)

一、方法如下&#xff08;亲测有效&#xff09;&#xff1a; 如何把本地项目上传github_本地已有工程上传github-CSDN博客 执行成功截图如下&#xff1a; 二、如果按照上面链接遇到问题&#xff1a; 问题0&#xff1a; 上面链接方法最后一步执行后&#xff0c;提示不能访问g…

OpenssH 漏洞修复

文章目录 OpenSSH 漏洞修复需求&#xff1a;准备环境配置阿里云yum源关闭防火墙 && SELinux安装 telnet-server安装 zlib 软件包安装OpenssL安装 OpenssH报错信息 OpenSSH 漏洞修复 场景&#xff1a; CentOS Stream 9 系统ssh默认版本一般是OpenSSH_8.7p1 &#xff0c;…

【QUARTZ】springboot+quartz动态配置定时任务

Quartz 介绍 Quartz 定时任务可分为Trigger&#xff08;触发器&#xff09;、Job&#xff08;任务&#xff09;和Scheduler&#xff08;调度器&#xff09;&#xff0c;定时任务的逻辑大体为&#xff1a;创建触发器和任务&#xff0c;并将其加入到调度器中&#xff0c;如下图所…

CMake+大漠插件的应用开发——处理dm.dll,免注册调用大漠插件

文章目录 CMake大漠插件的应用开发——处理dm.dll&#xff0c;免注册调用大漠插件说明环境项目结构配置编译环境编码-直接调用 dll编码-生成tlh文件&#xff0c;便于提示 CMake大漠插件的应用开发——处理dm.dll&#xff0c;免注册调用大漠插件 说明 网上有一种使用方式是&am…

Playwright 结合 Selenium Grid - 1.windows 环境使用教程

Playwright 可以连接到运行 Selenium 4 的 Selenium Grid Hub 来启动 Google Chrome 或 Microsoft Edge 浏览器,而不是在本地机器上运行浏览器。 下载Selenium Grid 打开selenium官方https://www.selenium.dev/downloads/下载Selenium Server (Grid) 目前最新版本4.16.1 下…

Windows 项目从0到1的部署

目录 一. 安装jdk 1.1 安装jdk 1.2 配置jdk的环境配置jdk 1.3 配置成功 二. 配置tomcat 2.1 启动tomcat 2.2 防火墙设置 三. 安装MySQL 3.1 安装步骤 3.2 内部连接 3.3 外部连接 四. 部署项目 4.1 项目部署 4.2 修改mysql的用户密码 一. 安装jdk 这里给大家准备好了jdk和…

数据库SELECT语句

文章目录 一、检索数据二、排序检索三、过滤数据四、数据过滤4.1 组合WHERE子句1. AND操作符2. OR操作符3. 计算次序 4.2 IN操作符4.3 NOT操作符 五、用通配符过滤LIKE操作符1. 百分号&#xff08;%&#xff09;通配符2. 下划线&#xff08;_&#xff09;通配符 使用通配符的技…

what is BERT?

BERT Introduction Paper 参考博客 9781838821593_ColorImages.pdf (packt-cdn.com) Bidirectional Encoder Representation from Transformer 来自Transformer的双向编码器表征 基于上下文&#xff08;context-based&#xff09;的嵌入模型。 那么基于上下文&#xff08;…

apache、nginx、php 隐藏版本号

apache、nginx、php 隐藏版本号 针对的系统都是CentOS 1、没配置之前 1.1 Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5 1.2 Server: nginx/1.16.0 1.3 X-Powered-By&#xff1a;7.2.24 2、配置信息 不知道具体位置&#xff0c;可…

小程序系列-5.WXML 模板语法

一、数据绑定 1、在 data 中定义页面的数据 动态绑定内容&#xff1a; 动态绑定属性&#xff1a; 2. Mustache 语法的格式 3. Mustache 语法的应用场景 4. 三元运算 5.算数运算 二、 事件绑定 1. 什么是事件&#xff1f; 2. 小程序中常用的事件 3. 事件对象的属性列表 4.…

【Java SE语法篇】6.数组

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ 文章目录 1.数组的基本概念1.1 为什么使用数组&#xff1f;1.…