Mybatis(plus)自定义xml文件位置,与mapper同级

1.修改yml配置文件

配置xml文件所在位置

mybatis-plus:
  mapper-locations: classpath*:com/hn/renting/modules/**/mapper/xml/*Mapper.xml

2.修改pom.xml

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

3.编译项目后

xml文件出现在配置的位置说明成功了

### 使用 Gin 框架实现 CRUD(增删改查)操作 #### 创建项目结构并初始化依赖项 为了使用 GinGORM 来处理 CRUD 操作,首先需要设置好 Go 项目的环境。安装必要的包: ```bash go mod init example.com/gin-crud-demo go get -u github.com/gin-gonic/gin go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite ``` #### 定义数据模型 定义 `Product` 结构体作为数据库中的表模型[^2]。 ```go type Product struct { gorm.Model Code string Price uint } ``` #### 初始化数据库连接 建立与 SQLite 数据库的连接,并自动迁移模式以创建相应的表格。 ```go import ( "gorm.io/driver/sqlite" "gorm.io/gorm" ) func InitDB() *gorm.DB { db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{}) if err != nil { panic("failed to connect database") } // 自动迁移模式 db.AutoMigrate(&Product{}) return db } ``` #### 设置路由和控制器逻辑 编写 HTTP API 路由以及对应的业务逻辑函数来完成 CRUD 功能。 ```go package main import ( "net/http" "github.com/gin-gonic/gin" ) var DB = InitDB() // 获取所有产品列表 func GetProducts(c *gin.Context) { var products []Product result := DB.Find(&products) if result.Error != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": result.Error}) return } c.JSON(http.StatusOK, products) } // 添加新产品 func CreateProduct(c *gin.Context) { var input Product if err := c.ShouldBindJSON(&input); err == nil { createErr := DB.Create(&input).Error if createErr != nil { c.JSON(http.StatusBadRequest, gin.H{"error": createErr}) return } c.JSON(http.StatusOK, input) } else { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) } } // 更新指定ID的产品信息 func UpdateProduct(c *gin.Context) { id := c.Params.ByName("id") var product Product if err := DB.Where("id = ?", id).First(&product).Error; err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": "Record not found!"}) return } updateErr := DB.Model(&product).Updates(Product{Code: c.PostForm("code"), Price: c.PostFormUint("price")}).Error if updateErr != nil { c.JSON(http.StatusBadRequest, gin.H{"error": updateErr}) return } c.JSON(http.StatusOK, product) } // 删除指定ID的产品记录 func DeleteProduct(c *gin.Context) { id := c.Params.ByName("id") var product Product d := DB.Delete(&product, id) if d.Error != nil { c.JSON(http.StatusBadRequest, gin.H{"error": d.Error}) return } c.JSON(http.StatusOK, gin.H{"id #" + id: "deleted"}) } func SetupRouter() *gin.Engine { r := gin.Default() apiV1 := r.Group("/api/v1") { apiV1.GET("/products", GetProducts) apiV1.POST("/products", CreateProduct) apiV1.PUT("/products/:id", UpdateProduct) apiV1.DELETE("/products/:id", DeleteProduct) } return r } func main() { router := SetupRouter() router.Run(":8080") } ``` 此代码片段展示了如何利用 Gin 框架配合 GORM ORM 库执行基本的数据持久化任务——即所谓的 CRUD 操作。每种操作都对应着 RESTful 风格下的不同 URL 地址及其请求方法[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值