一,介绍
MyBatis 是一种支持普通 SQL 查询、存储过程和高级映射的持久层框架。MyBatis 通过 XML 或注解的方式配置映射语句,消除了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。使用注解开发可以让代码更简洁,便于理解和维护。
主要涉及以下几个步骤:
- 配置数据源:设置数据库连接信息。
- 创建接口:定义操作数据库的方法,使用 MyBatis 提供的注解标记 SQL 语句。
- 配置 SqlSessionFactory:使用 MyBatis 提供的配置或者 Spring 集成。
- 使用 SqlSession:获取接口的实现,调用方法操作数据库
二,常用核心注解
- @Select:用于查询
@
Insert:用于插入@
Update:用于更新@
Delete:用于删除@
Results:映射查询结果到 Java 对象@
Param:方法参数命名,特别用于多参数传递
三,使用流程
1. 配置数据源和 SqlSessionFactory
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mydatabase"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
2. 创建接口和注解实现
package com.eample.mapper;
import org.apache.ibatis.annotations.Select;
import com.example.model.User;
public interface UserMapper {
@select("select * from user")
List<user> getusers();
}
3.需要再核心配置文件中绑定接口
<mappers>
<mapper class="com.dao.UserMapper"/>
</mappers>
四,总结
实现本质:反射机制实现
实现底层:动态代理
使用 MyBatis 的注解方式相比 XML 方式在简单场景中提供了便利和直观性,但对于复杂 SQL 的管理、动态 SQL 支持和代码维护性方面存在限制,如果过于复杂建议选择xml配置方式.
通过上述步骤,可以实现 MyBatis 的注解开发,使得持久层代码更加清晰,减少了 XML 配置的繁琐,提高了开发效率。但是在实际应用中,可能还需要考虑事务管理、连接池配置等因素以保证应用的健壮性和性能。