HM-SpringBoot1.6【SpringBoot整合MyBatis】
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>2.5.3</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.haifei</groupId> 12 <artifactId>springboot7-mybatis</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>springboot7-mybatis</name> 15 <description>Demo project for Spring Boot</description> 16 <properties> 17 <java.version>1.8</java.version> 18 </properties> 19 <dependencies> 20 <dependency> 21 <groupId>org.mybatis.spring.boot</groupId> 22 <artifactId>mybatis-spring-boot-starter</artifactId> 23 <version>2.2.0</version> 24 </dependency> 25 26 <dependency> 27 <groupId>mysql</groupId> 28 <artifactId>mysql-connector-java</artifactId> 29 <!--<scope>runtime</scope>--> 30 </dependency> 31 <dependency> 32 <groupId>org.springframework.boot</groupId> 33 <artifactId>spring-boot-starter-test</artifactId> 34 <scope>test</scope> 35 </dependency> 36 </dependencies> 37 38 <build> 39 <plugins> 40 <plugin> 41 <groupId>org.springframework.boot</groupId> 42 <artifactId>spring-boot-maven-plugin</artifactId> 43 </plugin> 44 </plugins> 45 </build> 46 47 </project>
1 CREATE TABLE `t_user` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, 4 `password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, 5 PRIMARY KEY (`id`) 6 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; 7 8 insert into `t_user`(`id`,`username`,`password`) values (1,'zhangsan','123'),(2,'lisi','234');
1 package com.haifei.springboot7mybatis.domain; 2 3 public class User { 4 5 private int id; 6 private String username; 7 private String password; 8 9 @Override 10 public String toString() { 11 return "User{" + 12 "id=" + id + 13 ", username='" + username + '\'' + 14 ", password='" + password + '\'' + 15 '}'; 16 } 17 18 public int getId() { 19 return id; 20 } 21 22 public void setId(int id) { 23 this.id = id; 24 } 25 26 public String getUsername() { 27 return username; 28 } 29 30 public void setUsername(String username) { 31 this.username = username; 32 } 33 34 public String getPassword() { 35 return password; 36 } 37 38 public void setPassword(String password) { 39 this.password = password; 40 } 41 }
1 纯注解开发
1 application.yml 2 3 4 5 # 一、配置datasource 6 spring: 7 datasource: 8 # url: jdbc:mysql://localhost:3306/hm_springboot 9 url: jdbc:mysql://localhost:3306/hm_springboot?serverTimezone=UTC 10 username: root 11 password: root 12 # driver-class-name: com.mysql.jdbc.Driver 13 driver-class-name: com.mysql.cj.jdbc.Driver
1 package com.haifei.springboot7mybatis.mapper; 2 3 import com.haifei.springboot7mybatis.domain.User; 4 import org.apache.ibatis.annotations.Mapper; 5 import org.apache.ibatis.annotations.Select; 6 import org.springframework.stereotype.Repository; 7 8 import java.util.List; 9 10 @Mapper 11 @Repository 12 public interface UserMapper { 13 14 @Select("select * from t_user") 15 public List<User> findAll(); 16 17 }
1 package com.haifei.springboot7mybatis; 2 3 import com.haifei.springboot7mybatis.domain.User; 4 import com.haifei.springboot7mybatis.mapper.UserMapper; 5 import org.junit.jupiter.api.Test; 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.boot.test.context.SpringBootTest; 8 9 import java.util.List; 10 11 @SpringBootTest 12 class Springboot7MybatisApplicationTests { 13 14 @Autowired 15 private UserMapper userMapper; //userMapper编译异常解决:在UserMapper类上加@Repository注解 16 17 @Test 18 void findAllTest() { 19 List<User> userList = userMapper.findAll(); 20 System.out.println(userList); 21 } 22 23 }
2 xml开发
1 package com.haifei.springboot7mybatis.mapper; 2 3 import com.haifei.springboot7mybatis.domain.User; 4 import org.apache.ibatis.annotations.Mapper; 5 import org.springframework.stereotype.Repository; 6 7 import java.util.List; 8 9 @Mapper 10 @Repository 11 public interface UserXmlMapper { 12 13 public List<User> findAll(); 14 15 }
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 3 4 <mapper namespace="com.haifei.springboot7mybatis.mapper.UserXmlMapper"> 5 <select id="findAll" resultType="user"> 6 select * from t_user 7 </select> 8 </mapper>
application.yml
# 一、配置datasource
spring:
datasource:
# url: jdbc:mysql://localhost:3306/hm_springboot
url: jdbc:mysql://localhost:3306/hm_springboot?serverTimezone=UTC
username: root
password: root
# driver-class-name: com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
# 二、配置mybatis
mybatis:
# config-location: # 指定mybatis的核心配置文件(sqlMapConfig.xml)路径
mapper-locations: classpath:mapper/*Mapper.xml # 指定mapper映射文件路径
type-aliases-package: com.haifei.springboot7mybatis.domain # 配置别名
1 package com.haifei.springboot7mybatis; 2 3 import com.haifei.springboot7mybatis.domain.User; 4 import com.haifei.springboot7mybatis.mapper.UserMapper; 5 import com.haifei.springboot7mybatis.mapper.UserXmlMapper; 6 import org.junit.jupiter.api.Test; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.boot.test.context.SpringBootTest; 9 10 import java.util.List; 11 12 @SpringBootTest 13 class Springboot7MybatisApplicationTests { 14 15 @Autowired 16 private UserMapper userMapper; //userMapper编译异常解决:在UserMapper类上加@Repository注解,下同 17 18 @Autowired 19 private UserXmlMapper userXmlMapper; 20 21 @Test 22 void findAllTest() { 23 List<User> userList = userMapper.findAll(); 24 System.out.println(userList); 25 } 26 27 @Test 28 void findAllTest2() { 29 List<User> userList = userMapper.findAll(); 30 System.out.println("userXmlMapper:" + userList); 31 } 32 33 }
标签:
SpringBoot
, Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!