我来详细讲解“详解SpringBoot快速整合MyBatis(去XML化)”的完整攻略。
- 添加依赖
在 pom.xml 文件中添加如下依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
- 配置数据库
在 application.properties 文件(或 application.yml 文件)中添加数据库相关配置:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
- 配置 MyBatis
在 application.properties 文件中添加 MyBatis 相关配置:
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
- 创建 Entity 类
在指定的包下创建实体类,如下:
@Data
public class User {
private Integer id;
private String name;
private Integer age;
}
- 创建 Mapper 接口
在指定的包下创建 Mapper 接口,如下:
public interface UserMapper {
List<User> listAllUsers();
}
- 去除 XML
在 Mapper 接口中使用 @Select 注解,表示 SQL 语句,如下:
@Select("SELECT * FROM user")
List<User> listAllUsers();
- 测试
在测试类中注入 UserMapper 接口,并调用 listAllUsers 方法,如下:
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testListAllUsers() {
List<User> userList = userMapper.listAllUsers();
System.out.println(userList);
}
}
至此,就完成了去除 MyBatis XML 文件的整合。下面是两个示例:
示例1:
一个实体类
@Data
public class Book {
private Integer id;
private String name;
private String author;
}
一个Mapper接口
public interface BookMapper {
@Select("SELECT * FROM book")
List<Book> listAllBooks();
@Insert("INSERT INTO book(name, author) VALUES(#{name}, #{author})")
void saveBook(Book book);
}
示例2:
一个实体类
@Data
public class Order {
private Integer id;
private String orderNo;
private String userName;
private Date createTime;
}
一个Mapper接口
public interface OrderMapper {
@Select("SELECT * FROM `order`")
List<Order> listAllOrders();
@Insert("INSERT INTO `order`(order_no, user_name, create_time) VALUES(#{orderNo}, #{userName}, #{createTime})")
void saveOrder(Order order);
}
希望我的讲解能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解SpringBoot 快速整合MyBatis(去XML化) - Python技术站