Spring-Boot-Demo:Sping Boot整合Mybatis
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,它极大地简化了创建独立、生产级别的基于 Spring 应用的初始配置。Mybatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。本文将深入探讨如何在 Spring Boot 项目中整合 Mybatis,实现数据访问层的高效管理。 我们需要在项目的 `pom.xml` 文件中添加 Spring Boot 和 Mybatis 的依赖。确保引入以下依赖: ```xml <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.2.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</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> </dependencies> ``` 接下来,我们需要配置数据库连接。在 `application.properties` 文件中添加如下配置: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.show-sql=true mybatis.mapper-locations=classpath:mapper/*.xml ``` 这里我们配置了 MySQL 数据库的 URL、用户名、密码以及驱动类名,同时也启用了 JPA 的 SQL 显示。 接着,创建 Mybatis 的配置类 `MybatisConfig.java`,用于自定义 Mybatis 配置: ```java @Configuration @MapperScan("com.example.demo.mapper") public class MybatisConfig { } ``` 在这个配置类中,我们使用 `@MapperScan` 注解来扫描 mapper 接口所在的包。 现在我们可以创建一个简单的实体类 `User.java` 和对应的 mapper 接口 `UserMapper.java`,并编写对应的 XML 映射文件 `UserMapper.xml`。例如: `User.java`: ```java @Data @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; } ``` `UserMapper.java`: ```java public interface UserMapper { User selectUserById(Long id); List<User> getAllUsers(); void insertUser(User user); void updateUser(User user); void deleteUser(Long id); } ``` `UserMapper.xml`: ```xml <mapper namespace="com.example.demo.mapper.UserMapper"> <select id="selectUserById" resultType="com.example.demo.model.User"> SELECT * FROM users WHERE id = #{id} </select> <select id="getAllUsers" resultType="com.example.demo.model.User"> SELECT * FROM users </select> <insert id="insertUser"> INSERT INTO users (name, email) VALUES (#{name}, #{email}) </insert> <update id="updateUser"> UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id} </update> <delete id="deleteUser"> DELETE FROM users WHERE id = #{id} </delete> </mapper> ``` 我们可以在服务类 `UserService.java` 中注入 `UserMapper`,并调用其方法进行数据操作: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public User getUserById(Long id) { return userMapper.selectUserById(id); } public List<User> getAllUsers() { return userMapper.getAllUsers(); } public void addUser(User user) { userMapper.insertUser(user); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(Long id) { userMapper.deleteUser(id); } } ``` 至此,我们完成了 Spring Boot 与 Mybatis 的整合。通过这种方式,我们可以方便地在 Spring Boot 应用中进行数据访问,利用 Mybatis 提供的灵活性和强大的 SQL 支持,同时享受 Spring Boot 带来的自动化配置和简洁的项目结构。在实际项目中,可以根据需求进一步扩展,如引入分页插件、事务管理等。
- 1
- cmathz12342024-05-04测试可以使用 #完美解决问题
- 粉丝: 29
- 资源: 4663
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ArcGIS Pro SKD - ADGeoDatabase.daml
- C# winform自定义图片控件.zip,拖拽移动,滚轮缩放
- 基于python的dlib库的人脸识别实现
- ArcGIS Pro SDK - ADCore.daml
- rocketmq的客户端
- 精选微信小程序源码:户外旅游小程序(旅游类)小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- JavaFx写的端口检测工具
- (源码)基于SpringBoot和Vue的博客系统.zip
- 精选微信小程序源码:班夫旅游小程序(旅游类)小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- (源码)基于SpringMVC框架的旅游产品管理系统.zip