搭建Mybatis源码环境
搭建Mybatis源码环境
源码下载
mybatis源码下载在github上面,链接如下(演示下载的是3.5.1版本)
https://github.com/mybatis/mybatis-3
除了mybatis源码外还需要下载依赖工程mybatis-parent(演示下载的是parent-31版本)
https://github.com/mybatis/parent
工程搭建
idea新建一个空项目
File---->New—>Project
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rP5rdpn9-1657519956426)(https://mmbiz.qpic.cn/mmbiz_png/3THd6lArRajgFMcz4eNtokRskZTaxk8Wm9Hk2peIfJ9UC3Yyz7CfOLSVdm19rZAtyf2ffhckTAz2M1sLLHjfmQ/640?wx_fmt=png)]
File–>Project Structure (导入parent-mybatis-parent-31、mybatis-3-mybatis-3.5.1)
更改mybatis-3-mybatis-3.5.1工程的pom文件,更新mybatis-parent中pom.xml文件的相对位置
编译工程
parent-mybatis-parent-31
mybatis-3-mybatis-3.5.1
按照上面的步骤重复操作,但是可能会出现一些问题
Failed to execute goal org.apache.maven.plugins:maven-pdf-plugin
注释pdf插件,不引入
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-pdf-plugin</artifactId>
</plugin>
Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.0:shade (default) on project mybatis
需要手动指定maven-shade-plugin插件版本
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version>.......
</plugin>
验证环境
File–>Project Structure 新建一个新的module,mybatis-test用于所有的测试工作
创建数据库表
CREATE TABLE `student` (`id` int NOT NULL AUTO_INCREMENT COMMENT 'id',`sno` varchar(20) DEFAULT NULL COMMENT '学号',`sname` varchar(10) DEFAULT NULL COMMENT '学生姓名',PRIMARY KEY (`id`)
)
创建数据库配置文件mybatis-config.xml
<?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="development"><environment id="development"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><!-- 8.x版本 com.mysql.cj.jdbc.Driver --><!-- 5.x版本 com.mysql.jdbc.Driver --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/unimondb"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!-- 配置扫描包,根据自己建的工程修改 --><mappers><package name="com.mybatis.test"/></mappers>
</configuration>
创建实体类
public class Student {private String id;private String sno;private String sname;// .....省略get、set、toString方法
}
创建接口StudentMapper
public interface StudentMapper {Student selectById(String id);
}
创建Mapper的Sql映射文件
<?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">
<!-- 命名空间,是接口StudentMapper的全限定名 -->
<mapper namespace="com.mybatis.test.StudentMapper"><!-- 实体类的全限定名 --><select id="selectById" resultType="com.mybatis.test.Student">select * from student where id = #{id}</select>
</mapper>
新增测试入口
public class MyTest {private static SqlSessionFactory sqlSessionFactory;public static void main(String[] args) throws IOException {// 1、创建SqlSessionFactoryString resource = "mybatis-config.xml";// String resource = "md";final Reader reader = Resources.getResourceAsReader(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);reader.close();// 2、获取sqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();// 3、获取mapper 动态代理,代理对象StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);// 4、执行数据库操作,并处理结果集Student goods = mapper.selectById("111");System.out.println(goods);}
}
引入mybatis-3-mybatis-3.5.1模块依赖
启动项目
可能出现的问题
Cannot enable lazy loading because Javassist is not available
javassist的依赖并没有成功的加载,在mybatis-test的pom中手动引入
<dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.24.1-GA</version>
</dependency>
Caused by: java.lang.ClassNotFoundException: ognl.PropertyAccessor
ognl依赖没有加载成功,在mybatis-test的pom中手动引入
<dependency><groupId>ognl</groupId><artifactId>ognl</artifactId><version>3.2.10</version>
</dependency>
Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driver
需要引入驱动包程序
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version>
</dependency>
搭建Mybatis源码环境相关推荐
- 本地搭建Spring源码环境
本地搭建Spring源码环境 一.安装gradle 第一种方式 第二种方式 二.下载Spring源码 一.下载地址 二.导入idea 三.配置idea 四.新建测试工程 三.最后 附:git地址 声明 ...
- mybatis源码环境搭建
前言 mybatis在众多的数据持久化框架中应该说是目前使用最多的,其优秀的设计和底层封装,值得很多开发人员进行学习,下面让我们先来构建一下mybatis的源码阅读环境吧 准备 1.github下载m ...
- 使用IntelliJ IDEA搭建kafka源码环境时遇到Output path错误解决办法
kafka源码环境搭建好之后,需要在IntelliJ IDEA开发工具中以debug方式启动kafka服务器来测试消息的生产和消费. 但是在启动kafka.Kafka类中的main方法(也就是运行 k ...
- 本地环境用eclipse搭建spring源码环境
对于JAVA和.NET开发人员来讲Spring框架并不陌生,对于想进行spring源码学习的同学来讲,在本地下载和构建spring项目很有必要.以下简要说明下Spring源码的下载和在eclipse下 ...
- idea搭建tigase源码环境
安装配置简单记录如下 1.安装mysql,我用的版本是mysql 5.5. 如果用较高版本,在执行过程中会遇到一些数据库的报错,需要对源码进行修改. 错误举例如下 The server time zo ...
- Gradle搭建Spring5源码环境时报错:A build scan was not published as ... with server ‘ge.spring.io’
解决办法: 修改settings.gradle文件(不做身份验证) plugins { id "com.gradle.enterprise" version "3.2&q ...
- Mybatis源码解析(一):环境搭建
Mybatis源码系列文章 手写源码(了解源码整体流程及重要组件) Mybatis源码解析(一):环境搭建 Mybatis源码解析(二):全局配置文件的解析 Mybatis源码解析(三):映射配置文件 ...
- Mybatis 源码阅读环境搭建
Mybatis源码阅读环境搭建 前言 一.下载mybatis的源码 二.编译源码 三.创建测试项目 前言 mybatis源码阅读环境搭建还是比较简单的,接下来我们讲解一下如何搭建该源码阅读环境 ...
- kafka项目启动_Kafka 探险 源码环境搭建
这个 Kafka 的专题,我会从系统整体架构,设计到代码落地.和大家一起杠源码,学技巧,涨知识.希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 前言 在阅读源码之前,首先 ...
- MyBatis源码分析(一)MyBatis整体架构分析
文章目录 系列文章索引 一.为什么要用MyBatis 1.原始JDBC的痛点 2.Hibernate 和 JPA 3.MyBatis的特点 4.MyBatis整体架构 5.MyBatis主要组件及其相 ...
最新文章
- swift3.0友盟分享
- devops_最低可行DevOps
- CentOS 6.4下编译安装MySQL 5.6.14
- 我是如何利用“王宝强离婚”事件来吸粉的
- linux x和s 的区别,Hadoop1.x和2.X的HDFS fsimage和edits文件运行机制对比
- python读取nc文件并转换成csv_Python提取netCDF数据并转换为csv文件
- Nacos配置管理-Nacos实现配置管理
- java.close用法_void close()
- linux忘记root密码怎么修改密码和多台linux相互使用密钥连接
- mongodb mac安装_在Mac OS X上安装MongoDB
- C语言中的循环结构与选择结构
- Java实现黑客帝国代码雨(待机屏保)
- BS7799标准全面解析(新版)
- S32K的flash组件使用(操作FLASH)
- 初学python--空函数、返回多个值
- 2021年中国印染布产量及进出口情况分析:合成长丝织物产品出口数量最多[图]
- 安卓app保持屏幕常亮
- java爬虫(本地爬虫和网络爬虫)
- 域名系统(DNS)反向查询
- mysql 多表 结构相同 查询
热门文章
- 面试官:TCP和UDP两者的区别是什么?
- win10系统64位安装与配置java环境,安装使用citespace经验
- 串口转usb驱动c语言程序,usb serial驱动下载-usb serial converter驱动下载 官方版usb转串口驱动程序-win7/8/10/xp32/64位-IT猫扑网...
- 关于雅克比矩阵与黑塞矩阵
- mysql删除表数据恢复
- Mysql根据日志恢复数据
- VMware 镜像安装
- Livereload介绍
- 如何搭建积分商城软件活动功能
- iOS 视频播放器开发(一)