Mybatis-环境搭建
一、导入坐标
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!--mybatis 坐标 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version> 3.4 . 5 </version> </dependency> <!--mysql 驱动坐标 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version> 5.1 . 6 </version> <scope>runtime</scope> </dependency> |
二、编写UserMapper映射文件
1 2 3 4 5 6 7 8 9 | <?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= "userMapper" > <select id= "findAll" resultType= "com.finnlee.pojo.User" > select * from user </select> </mapper> |
三、编写MyBatis核心文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <environments default = "develop" > <environment id= "develop" > <transactionManager type= "jdbc" ></transactionManager> <dataSource type= "POOLED" > <property name= "driver" value= "com.mysql.jdbc.Driver" /> <property name= "url" value= "jdbc:mysql://localhost:3306/demo?characterEncoding=UTF-8" /> <property name= "username" value= "root" /> <property name= "password" value= "root" /> </dataSource> </environment> </environments> <mappers> <mapper resource= "com/finnlee/mapper/UserMapper.xml" /> </mappers> </configuration> |
四、测试代码
1 2 3 4 5 6 7 8 9 10 11 | // 加载核心配置文件 InputStream resourceAsStream = Resources.getResourceAsStream( "mybatis.xml" ); // 获得 sqlSession 工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); // 获得 sqlSession 对象 SqlSession sqlSession = sqlSessionFactory.openSession(); List<User> userList = sqlSession.selectList( "userMapper.findAll" ); System.out.println(userList); //关闭资源 sqlSession.close(); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构