GoMybatis 项目使用教程
1. 项目目录结构及介绍
GoMybatis 项目的目录结构如下:
GoMybatis/
├── example/
│ ├── main.go
│ ├── mapper/
│ │ ├── UserMapper.xml
│ │ └── ...
│ └── ...
├── go.mod
├── go.sum
├── LICENSE
├── README.md
├── README-ch.md
├── ...
└── src/
├── GoMybatis.go
├── GoMybatis_test.go
├── ...
└── utils/
├── utils.go
└── ...
目录结构介绍:
- example/: 包含项目的示例代码,展示了如何使用 GoMybatis 进行数据库操作。
- main.go: 示例项目的启动文件。
- mapper/: 存放 XML 格式的 Mapper 文件,定义了数据库操作的 SQL 语句。
- go.mod: Go 模块文件,定义了项目的依赖关系。
- go.sum: Go 模块的校验文件,确保依赖的完整性和安全性。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的英文介绍文档。
- README-ch.md: 项目的中文介绍文档。
- src/: 项目的源代码目录,包含了 GoMybatis 的核心实现。
- GoMybatis.go: GoMybatis 的核心代码文件。
- GoMybatis_test.go: GoMybatis 的测试代码文件。
- utils/: 包含一些工具类和辅助函数。
2. 项目的启动文件介绍
在 example/
目录下的 main.go
文件是项目的启动文件。该文件展示了如何初始化 GoMybatis 并进行数据库操作。
主要代码片段:
package main
import (
"github.com/zhuxiujia/GoMybatis"
"github.com/zhuxiujia/GoMybatis/example/mapper"
"github.com/go-sql-driver/mysql"
)
func main() {
// 初始化数据库连接
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
panic(err)
}
// 初始化 GoMybatis
engine := GoMybatis.GoMybatisEngine{}.New()
engine.UseDB(db)
// 加载 Mapper 文件
var userMapper mapper.UserMapper
engine.ReadMapperFile("example/mapper/UserMapper.xml", &userMapper)
// 执行数据库操作
user, err := userMapper.SelectUserById(1)
if err != nil {
panic(err)
}
fmt.Println(user)
}
启动文件介绍:
- 初始化数据库连接: 使用
sql.Open
方法初始化 MySQL 数据库连接。 - 初始化 GoMybatis: 使用
GoMybatis.GoMybatisEngine{}.New()
初始化 GoMybatis 引擎,并通过UseDB
方法绑定数据库连接。 - 加载 Mapper 文件: 使用
ReadMapperFile
方法加载 XML 格式的 Mapper 文件,并绑定到对应的 Mapper 接口。 - 执行数据库操作: 调用 Mapper 接口中的方法执行数据库操作,如
SelectUserById
。
3. 项目的配置文件介绍
GoMybatis 项目本身没有独立的配置文件,所有的配置都是通过代码进行初始化的。主要的配置项包括数据库连接信息和 Mapper 文件的路径。
数据库连接配置:
在 main.go
文件中,数据库连接信息通过 sql.Open
方法进行配置:
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
Mapper 文件配置:
Mapper 文件通过 ReadMapperFile
方法加载:
engine.ReadMapperFile("example/mapper/UserMapper.xml", &userMapper)
配置文件总结:
- 数据库连接信息: 通过
sql.Open
方法在代码中配置。 - Mapper 文件路径: 通过
ReadMapperFile
方法在代码中指定。
通过以上配置,GoMybatis 可以正常初始化并执行数据库操作。