阅读量:0
Groovy是一种基于JVM的动态语言,可以与MyBatis框架协同工作。下面是一个简单的示例,展示了如何在Groovy中使用MyBatis进行数据库操作。
- 添加依赖
首先,需要在项目中添加Groovy和MyBatis的依赖。在Maven项目的pom.xml文件中添加以下依赖:
<dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>3.0.8</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> </dependencies>
- 创建Groovy脚本
创建一个名为UserMapper.groovy
的Groovy脚本,用于定义数据库操作接口:
package com.example interface UserMapper { User getUserById(int id) List<User> getUsers() }
- 创建MyBatis映射文件
在resources/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.UserMapper"> <select id="getUserById" resultType="com.example.User"> SELECT * FROM user WHERE id = #{id} </select> <select id="getUsers" resultType="com.example.User"> SELECT * FROM user </select> </mapper>
- 创建Groovy服务类
创建一个名为UserService.groovy
的Groovy脚本,用于封装数据库操作:
package com.example import org.apache.ibatis.session.SqlSession import org.apache.ibatis.session.SqlSessionFactory class UserService { SqlSessionFactory sqlSessionFactory UserService(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory } User getUserById(int id) { try (SqlSession sqlSession = sqlSessionFactory.openSession()) { UserMapper userMapper = sqlSession.getMapper(UserMapper) return userMapper.getUserById(id) } } List<User> getUsers() { try (SqlSession sqlSession = sqlSessionFactory.openSession()) { UserMapper userMapper = sqlSession.getMapper(UserMapper) return userMapper.getUsers() } } }
- 使用服务类进行数据库操作
在主程序中,创建SqlSessionFactory
实例,并使用UserService
进行数据库操作:
import com.example.UserService import org.apache.ibatis.io.Resources import org.apache.ibatis.session.SqlSessionFactoryBuilder public class Main { public static void main(String[] args) throws Exception { String resource = "mapper/UserMapper.xml" try (InputStream inputStream = Resources.getResourceAsStream(resource)) { SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream) UserService userService = new UserService(sqlSessionFactory) User user = userService.getUserById(1) System.out.println("User: " + user) List<User> users = userService.getUsers() System.out.println("Users: " + users) } } }
这样,就可以在Groovy中通过MyBatis进行数据库操作了。