Groovy是一种基于JVM的动态语言,可以与MyBatis框架协同工作。下面是一个简单的示例,展示了如何在Groovy中使用MyBatis进行数据库操作。
- 添加依赖
首先,需要在项目中添加Groovy和MyBatis的依赖。在Maven项目的pom.xml文件中添加以下依赖:
org.codehaus.groovy groovy-all 3.0.8 org.mybatis mybatis 3.5.7 mysql mysql-connector-java 8.0.26
- 创建Groovy脚本
创建一个名为UserMapper.groovy
的Groovy脚本,用于定义数据库操作接口:
package com.example interface UserMapper { User getUserById(int id) ListgetUsers() }
- 创建MyBatis映射文件
在resources/mapper
目录下创建一个名为UserMapper.xml
的文件,用于描述数据库操作的具体实现:
- 创建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) } } ListgetUsers() { 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) Listusers = userService.getUsers() System.out.println("Users: " + users) } } }
这样,就可以在Groovy中通过MyBatis进行数据库操作了。