怎么使用MyBatis的注解方式进行SQL映射

使用MyBatis注解方式进行SQL映射,需要在Mapper接口中定义方法,并使用@Select、@Insert等注解指定SQL语句。

使用MyBatis的注解方式进行SQL映射可以大大简化XML配置文件的使用,提高开发效率,下面是详细的步骤和小标题:

1、引入MyBatis依赖

怎么使用MyBatis的注解方式进行SQL映射

在项目的pom.xml文件中添加MyBatis和MyBatisSpring的依赖:

<dependencies>
    <!MyBatis >
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <!MyBatisSpring >
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatisspring</artifactId>
        <version>2.0.4</version>
    </dependency>
</dependencies>

2、配置数据源和SqlSessionFactory

在Spring的配置文件中配置数据源和SqlSessionFactory:

<!数据源配置 >
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/test" />
    <property name="username" value="root" />
    <property name="password" value="123456" />
</bean>
<!SqlSessionFactory配置 >
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:mybatisconfig.xml" />
</bean>

3、创建实体类和Mapper接口

创建一个实体类User和一个对应的Mapper接口UserMapper:

public class User {
    private Integer id;
    private String name;
    private Integer age;
    // getter和setter方法省略...
}
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper // 标记为Mapper接口,Spring会自动扫描并注入SqlSessionFactory和MapperScannerConfigurer对象
public interface UserMapper {
    @Select("SELECT * FROM user") // 查询所有用户,返回List<User>类型结果集
    List<User> findAll();
}

4、编写Service和Controller层代码

在Service层调用Mapper接口的方法:

怎么使用MyBatis的注解方式进行SQL映射
@Service // 标记为Service层组件,Spring会自动注入UserMapper对象和其他相关服务对象(如事务管理器)
public class UserService {
    @Autowired // 自动注入UserMapper对象,无需在构造函数中手动注入
    private UserMapper userMapper;
    public List<User> findAll() {
        return userMapper.findAll(); // 调用Mapper接口的方法,执行SQL查询并返回结果集
    }
}

在Controller层调用Service层的方法:

@Controller // 标记为Controller层组件,Spring会自动扫描并注入其他相关组件(如视图解析器)
public class UserController {
    @Autowired // 自动注入UserService对象,无需在构造函数中手动注入
    private UserService userService;
    @RequestMapping("/users") // 处理请求路径为/users的HTTP请求,返回一个视图名称(如userList)或直接返回一个ModelAndView对象(包含视图名称和模型数据)
    public ModelAndView listUsers() {
        List<User> users = userService.findAll(); // 调用Service层的方法,执行业务逻辑并获取结果集(用户列表)
        ModelAndView modelAndView = new ModelAndView("userList"); // 创建一个ModelAndView对象,设置视图名称为userList(需要提前定义一个名为userList的JSP页面)
        modelAndView.addObject("users", users); // 将结果集添加到ModelAndView对象中,以便在视图中显示(通过${users}表达式)
        return modelAndView; // 返回ModelAndView对象,Spring会根据视图名称找到对应的JSP页面并渲染,同时将模型数据传递给JSP页面(通过request域)
    }
}
怎么使用MyBatis的注解方式进行SQL映射

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/512620.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年5月23日 16:09
下一篇 2024年5月23日 16:11

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入