mybaits源码环境搭建-3.5.6

mybaits-3.5.6源码环境搭建
mybatis源码仓库地址:https://github.com/mybatis/mybatis-3

我下载的是版本3.5.6:https://github.com/mybatis/mybatis-3/releases/tag/mybatis-3.5.6
打开pom文件查看mybatis依赖,发现他依赖 mybatis-parent 的版本32

<parent>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-parent</artifactId>
  <version>32</version>
  <relativePath />
</parent>

下载依赖版本:https://github.com/mybatis/parent/releases

分别导入两个项目到idea中
在这里插入图片描述
首先打开mybatis-parent项目的pom文件 注释一下内容

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-pdf-plugin</artifactId>
	<version>${pdf.version}</version>
	<executions>
		<execution>
		  <id>pdf</id>
		  <phase>prepare-package</phase>
		  <goals>
		    <goal>pdf</goal>
		  </goals>
		  <configuration>
		    <includeReports>false</includeReports>
		  </configuration>
		</execution>
	</executions>
</plugin>

点击maven -> install 等待完成 也可以在Terminal窗口下执行
mvn clean install -Dmaven.test.skip
在这里插入图片描述
打开mybatis 的 pom.xml 文件 修改为本地依赖

 <parent>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis-parent</artifactId>
   <version>32</version>
   <!--修改为本地依赖-->
   <relativePath>../parent-mybatis-parent-32/pom.xml</relativePath>
 </parent>

注释掉 mysql-connector-java 依赖的 scope 标签

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.21</version>
  <!--制定了测试环境使用-->
  <!--<scope>test</scope>-->
</dependency>

如下内容 全部注释

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <argLine>${argLine} -Xmx2048m</argLine>
    <systemProperties>
      <property>
        <name>derby.stream.error.file</name>
        <value>${project.build.directory}/derby.log</value>
      </property>
      <property>
        <name>derby.system.home</name>
        <value>${project.build.directory}</value>
      </property>
    </systemProperties>
  </configuration>
</plugin>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-pdf-plugin</artifactId>
</plugin>

<profile>
  <id>travis-ci</id>
  <activation>
    <property>
      <name>env.TRAVIS</name>
    </property>
  </activation>
  <properties>
    <excludedGroups />
  </properties>
</profile>
<repositories>
 <repository>
   <id>sonatype-oss-snapshots</id>
   <name>Sonatype OSS Snapshots Repository</name>
   <url>https://oss.sonatype.org/content/repositories/snapshots</url>
 </repository>
</repositories>

最后点击 install 等待加载完成 会有报错先不管
在这里插入图片描述

在项目中创建如下目录
在这里插入图片描述

UserTestMapper.xml文件

<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.mapper.UserTestMapper">
  <select id="getUserOne" resultType="org.example.UserTest">
    select * from t_test where id =#{id}
  </select>
</mapper>

UsetTestMapper.java

package org.example.mapper;
import org.apache.ibatis.annotations.Param;
import org.example.UserTest;
public interface UserTestMapper {
  UserTest getUserOne(@Param("id") int id);
}

UserTest.java

  private int id;
  private String name;
  // get/set/toString()

MybatisMain.java

package org.example;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
public class MybatisMain {
  public static void main(String[] args) throws IOException {
    // 加载xml文件获取session
    Reader reader = Resources.getResourceAsReader("config/mybatis-config.xml");
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    SqlSession sqlSession = sqlSessionFactory.openSession();
    UserTest userTest = sqlSession.selectOne("org.example.mapper.UserTestMapper.getUserOne", 1);
    System.out.println(userTest.toString());
  }
}

jdbc.properties

#这两个都可以 不过最好用下着
#driver=com.mysql.jdbc.Driver
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
username=root
password=123456

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>
  <properties resource="config/jdbc.properties"></properties>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC">
        <property name="autoCommit" value="false"/>
      </transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>

  <!--加载映射文件 四种方式-->
  <mappers>
    <!--<package name=""/>-->
    <!--<mapper class=""/>-->
    <!--<mapper url=""></mapper>-->
    <!--在resource文件下-->
    <mapper resource="mapper/UserTestMapper.xml"/>
  </mappers>
</configuration>

debug运行
在这里插入图片描述
结果如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值