91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

groovy下mybatis的映射如何處理

小樊
82
2024-09-20 15:14:03
欄目: 編程語言

在Groovy中使用MyBatis時,你需要遵循以下步驟來處理映射文件:

  1. 添加依賴

首先,確保你的項目中已經添加了MyBatis和Groovy的依賴。在build.gradle文件中添加以下依賴:

dependencies {
    implementation 'org.mybatis:mybatis:3.5.7'
    implementation 'org.mybatis.groovy:mybatis-groovy:2.0.6'
}
  1. 創建Mapper接口

創建一個與映射文件對應的Mapper接口。例如,如果你的映射文件名為UserMapper.xml,則創建一個名為UserMapper的接口:

interface UserMapper {
    User getUserById(int id)
    List<User> getUsers()
}
  1. 編寫映射文件

resources目錄下創建一個名為mapper的文件夾,然后在其中創建與Mapper接口對應的映射文件。例如,創建一個名為UserMapper.xml的文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUserById" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>

    <select id="getUsers" resultType="com.example.model.User">
        SELECT * FROM user
    </select>
</mapper>

注意namespace屬性應與Mapper接口的全限定名相匹配。

  1. 配置MyBatis

創建一個名為MyBatisConfig的Groovy類,用于配置MyBatis。在這個類中,你需要注冊Mapper接口和映射文件:

import org.apache.ibatis.builder.xml.XMLMapperBuilder
import org.apache.ibatis.io.Resources
import org.mybatis.spring.SqlSessionFactoryBean
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

import javax.sql.DataSource;
import java.io.IOException

@Configuration
class MyBatisConfig {

    @Value("${mybatis.mapper-locations}")
    private String mapperLocations

    @Bean
    SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws IOException {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean()
        sessionFactory.setDataSource(dataSource)

        Resources resources = new Resources(mapperLocations)
        for (String resource : resources.getResourceNames()) {
            XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(resources.getInputStream(resource), sessionFactory.getConfiguration(), resource, sessionFactory.getSqlFragments())
            xmlMapperBuilder.parse()
        }

        return sessionFactory
    }
}

注意@Value("${mybatis.mapper-locations}")注解用于注入映射文件的位置。你需要在application.propertiesapplication.yml文件中配置這個屬性,例如:

mybatis.mapper-locations=classpath:mapper/*.xml
  1. 使用Mapper

現在你可以在你的服務類中使用SqlSessionTemplate來執行數據庫操作。首先,注入SqlSessionTemplate

import org.mybatis.spring.SqlSessionTemplate
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service

@Service
class UserService {

    @Autowired
    SqlSessionTemplate sqlSessionTemplate

    UserMapper userMapper

    User getUserById(int id) {
        return userMapper.getUserById(id)
    }

    List<User> getUsers() {
        return userMapper.getUsers()
    }
}

注意SqlSessionTemplate會自動處理Mapper接口和映射文件之間的關聯。現在你可以使用UserService類來執行數據庫操作了。

0
华宁县| 岐山县| 永修县| 丰顺县| 天津市| 丰宁| 怀柔区| 兰溪市| 绍兴县| 溧阳市| 晋州市| 九龙县| 宜兴市| 长海县| 曲靖市| 即墨市| 甘孜| 莲花县| 兴文县| 清苑县| 阳原县| 新昌县| 盐城市| 甘德县| 额济纳旗| 石门县| 陵水| 东丽区| 海淀区| 陵川县| 凌源市| 德惠市| 库伦旗| 房产| 镇宁| 高雄县| 梁河县| 南宁市| 鹤岗市| 育儿| 桂阳县|