springboot+mybatis实现简单的增删改查


在本文中,我们将深入探讨如何使用Spring Boot与MyBatis框架来实现一个基本的增删改查(CRUD)功能。Spring Boot简化了Spring应用程序的配置,并提供了开箱即用的功能,而MyBatis则是一个轻量级的持久层框架,它将SQL语句与Java代码解耦,使数据库操作更为灵活。 我们需要创建一个Maven工程。IntelliJ IDEA是一个流行的Java集成开发环境,可以方便地创建和管理Maven项目。在IDEA中选择"New Project",然后选择"Maven"并填写项目的相关信息,如groupId、artifactId和version。 接下来,我们需要在pom.xml文件中添加Spring Boot和MyBatis的依赖。Spring Boot的父POM应该被引入,同时添加Spring Boot的web和mybatis的依赖项: ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.x.x.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.x.x.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies> ``` 在Spring Boot应用中,我们需要配置数据源和MyBatis。在application.properties或application.yml中,设置数据库连接信息: ```properties # application.properties 示例 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root mybatis.config-location=classpath:mybatis-config.xml ``` 接着,创建一个MyBatis的配置文件mybatis-config.xml,定义SqlSessionFactory: ```xml <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${spring.datasource.driver-class-name}"/> <property name="url" value="${spring.datasource.url}"/> <property name="username" value="${spring.datasource.username}"/> <property name="password" value="${spring.datasource.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> </mappers> </configuration> ``` 然后,定义一个实体类,例如User: ```java public class User { private Long id; private String name; private String email; // getters and setters } ``` 创建对应的Mapper接口和XML文件: ```java // UserMapper.java public interface UserMapper { User selectUser(Long id); void insertUser(User user); void updateUser(User user); void deleteUser(Long id); } ``` ```xml <!-- UserMapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <select id="selectUser" resultType="com.example.User"> SELECT * FROM user WHERE id = #{id} </select> <insert id="insertUser"> INSERT INTO user(name, email) VALUES(#{name}, #{email}) </insert> <update id="updateUser"> UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id} </update> <delete id="deleteUser"> DELETE FROM user WHERE id=#{id} </delete> </mapper> ``` 创建Service层和Controller层,实现业务逻辑和HTTP请求处理: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public User getUser(Long id) { return userMapper.selectUser(id); } public void addUser(User user) { userMapper.insertUser(user); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(Long id) { userMapper.deleteUser(id); } } @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUser(@PathVariable Long id) { return userService.getUser(id); } @PostMapping("/") public void addUser(@RequestBody User user) { userService.addUser(user); } @PutMapping("/{id}") public void updateUser(@PathVariable Long id, @RequestBody User user) { user.setId(id); userService.updateUser(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userService.deleteUser(id); } } ``` 至此,我们已经创建了一个简单的Spring Boot应用,集成了MyBatis,实现了用户数据的增删改查。通过IDEA运行主类,启动应用,然后可以通过HTTP请求测试这些功能。例如,使用Postman或curl工具进行GET、POST、PUT和DELETE请求。 总结,本教程涵盖了以下几个关键知识点: 1. 创建Spring Boot Maven项目 2. 引入Spring Boot和MyBatis依赖 3. 配置数据库连接和MyBatis 4. 定义实体类、Mapper接口和XML文件 5. 实现Service层和Controller层的业务逻辑 6. 使用HTTP请求测试应用功能 通过这个过程,开发者可以了解如何在Spring Boot中集成MyBatis,并实现基础的CRUD操作。这只是一个起点,实际项目中可能还需要考虑事务管理、异常处理、日志记录等更多复杂情况。























































































































































- 1


- 粉丝: 334
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 小区物业管理系统,项目是基于JavaEE采用MVC模式结合SSM框架进行实现,前端页面使用Bootstrap进行实现。(
- 基于ssm mysql 代码生成器.zip
- 深度识图:一个AI小程序.zip
- 在微信小程序上,使用腾讯和百度AI开放平台,实现图像识别和人脸融合。.zip
- (毕业设计)基于SSM的校园论坛系统的设计与实现.zip
- ssm-admin是基于ssm 前端采用vue-element组件的快速开发脚手架单体服务.zip
- 智能快递柜小程序+nodejs koa2后端.zip
- 微信小程序Demo,实现了类似探探的拖拽卡片功能,拥有大量的精美交互动画.zip
- 基于ssm的酒店管理系统 - JavaWeb课程实习项目.zip
- 基于SSM框架实现的景区宣传系统【带文档】:前端 vue、axios、elementui,后端 spring、sprin
- 微信小程序开发详解随书代码.zip
- 基于SSM框架实现的校园车辆管理系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块 - 编程语言:Java
- 钉钉小程序(E应用)UI组件库.zip
- 微信小程序搜索框.zip
- 小程序快捷开发工具库,在《小程序从0到1:微信全栈工程师一本通》示例中有用.zip
- 微信小程序-读你电影(豆瓣API),适合入门练手.zip


