news 2026/7/2 2:20:05

mybatis搭建项目框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mybatis搭建项目框架

现在给大家搭建一个mybatis的简单框架。

package org.example.mybatis; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @MapperScan("org.example.mybatis") @SpringBootApplication public class MybatisApplication { public static void main(String[] args) { SpringApplication.run(MybatisApplication.class, args); } }
package org.example.mybatis; public class User { private Long id; private String name; private Integer age; // getter & setter public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
package org.example.mybatis; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/user") public class UserController { private final UserMapper userMapper; public UserController(UserMapper userMapper) { this.userMapper = userMapper; } @GetMapping("/list") public List<User> list() { return userMapper.findAll(); } @GetMapping("/{id}") public User get(@PathVariable Long id) { return userMapper.findById(id); } @PostMapping("/add") public String add(@RequestBody User user) { userMapper.insert(user); return "success"; } }
package org.example.mybatis; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface UserMapper { List<User> findAll(); User findById(Long id); int insert(User user); }
<?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.example.mybatis.UserMapper"> <select id="findAll" resultType="org.example.mybatis.User"> select * from user </select> <select id="findById" resultType="org.example.mybatis.User"> select * from user where id = #{id} </select> <insert id="insert"> insert into user(name, age) values(#{name}, #{age}) </insert> </mapper>
<?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>3.2.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>org.example</groupId> <artifactId>mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mybatis</name> <description>mybatis</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </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> <!-- MyBatis Spring Boot Starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </path> </annotationProcessorPaths> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
server: port: 8084 spring: datasource: url: jdbc:mysql://localhost:3306/testmybatis?useSSL=false&serverTimezone=Asia/Shanghai username: root password: driver-class-name: com.mysql.cj.jdbc.Driver mybatis: mapper-locations: classpath:*.xml type-aliases-package: org.example.mybatis

代码目录结构如下:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 14:57:24

SteamShutdown:三大优势让你的电脑在游戏下载完成后自动关机

SteamShutdown&#xff1a;三大优势让你的电脑在游戏下载完成后自动关机 【免费下载链接】SteamShutdown Automatic shutdown after Steam download(s) has finished. 项目地址: https://gitcode.com/gh_mirrors/st/SteamShutdown 还在为深夜下载Steam游戏而不敢离开电脑…

作者头像 李华
网站建设 2026/6/28 21:05:06

终极GSE宏编译器完全指南:告别复杂操作的一键连招解决方案

终极GSE宏编译器完全指南&#xff1a;告别复杂操作的一键连招解决方案 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test coverage a…

作者头像 李华
网站建设 2026/7/1 10:15:12

Gitee CodePecker:构筑国产DevSecOps安全防线的新范式

Gitee CodePecker&#xff1a;构筑国产DevSecOps安全防线的新范式 在数字化浪潮席卷全球的当下&#xff0c;软件开发安全已从可选变成必选项。Gitee CodePecker作为国内自主研发的安全开发解决方案&#xff0c;正在重新定义DevSecOps实践的标准&#xff0c;为企业研发安全提供了…

作者头像 李华
网站建设 2026/6/29 0:01:21

飞书审批流程:关键节点通过IndexTTS 2.0语音通知负责人

飞书审批流程&#xff1a;关键节点通过IndexTTS 2.0语音通知负责人 在企业办公场景中&#xff0c;一个看似简单的“审批等待”&#xff0c;往往可能成为业务推进的隐形瓶颈。尤其当关键决策人正忙于会议、出差或信息过载时&#xff0c;一条静默的文字提醒很容易被淹没在成百上千…

作者头像 李华
网站建设 2026/6/26 14:57:28

蛋白质结构预测新革命:RoseTTAFold实战应用全解析

蛋白质结构预测新革命&#xff1a;RoseTTAFold实战应用全解析 【免费下载链接】RoseTTAFold This package contains deep learning models and related scripts for RoseTTAFold 项目地址: https://gitcode.com/gh_mirrors/ro/RoseTTAFold 你是否曾经为解析蛋白质三维结…

作者头像 李华
网站建设 2026/6/28 22:53:57

流式传输支持:边生成边播放IndexTTS 2.0音频减少等待

流式传输支持&#xff1a;边生成边播放IndexTTS 2.0音频减少等待 在短视频创作、虚拟主播直播和AI配音日益普及的今天&#xff0c;用户对语音合成的期待早已不止于“能说话”。真正的挑战在于——如何让机器的声音不仅自然&#xff0c;还能实时响应、精准同步画面节奏&#xff…

作者头像 李华