这篇文章主要介绍“如何部署并运行MyBatis3”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何部署并运行MyBatis3”文章能帮助大家解决问题。
源码部署
下载
mybatis3中文网址:mybatis.org/mybatis-3/z…
mybatis3下载地址:github.com/mybatis/myb…
mybatis父工程下载地址:github.com/mybatis/par…
点击链接下载zip包,注意对应版本(本文为稳妥起见下载了前人趟过坑的mybatis3的3.5.3版本)。
该项目pom文件中有引入mybatis-parent
工程,需按照对应版本下载,切记!
下载后解压。
编译安装
使用CMD编译安装项目前需要先配置好maven系统变量和本地仓库路径,不然会下载依赖到到C盘隐藏目录.m2中。
环境变量截图:
变量path:
maven 下config文件中setting.xml
中配置:
切换到你下载的mybatis-parent目录打开cmd:
执行命令:mvn clean install -Dmaven.test.skip=true
等待BUILD SUCCESS。
或者IDEA open项目自己clean install也不会报错
接下来切换到你下载的mybatis源码目录:
为防止编译失败需要先注释掉pom.xml
文件的maven-pdf-plugin
插件:
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> </plugin>-->
执行命令:mvn clean install -Dmaven.test.skip=true
等待一下,中间不要管,等build成功。
idea导入
IDEA 新建Maven项目后先不进行操作(本人项目名为
source-mybatis
);ctrl+shift+ alt+ s
打开项目配置,将两个项目添加进module中,至此源码导入结束。
demo测试
先贴一个source-mybatis
项目截图:
先贴一个pom文件的依赖,注意mybatis.version
的版本一定要是自己源码
的版本;
我本地是mysql8
,实际需按照自己情况导入依赖和配置。
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.13.2</junit.version> <mybatis.version>3.5.3</mybatis.version> <mysql.version>8.0.11</mysql.version> <druid.version>1.1.9</druid.version> </properties> <dependencies> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- 连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.javassist/javassist --> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.26.0-GA</version> </dependency> </dependencies> <build> <!-- 加载配置文件 --> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
下面贴一下SqlSessionConfig.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> <settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> <typeAliases> <package name="com.yang.entity"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!-- dirver根据自身mysql版本来 --> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="username" value="root"/> <property name="password" value="root123456"/> <!-- mysql8要加:serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true--> <property name="url" value="jdbc:mysql://localhost:3306/news?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true"/> </dataSource> </environment> </environments> <mappers> <package name="com.yang.mapper"/> </mappers></configuration>
实体类和mapper正常写,和平常项目没有任何区别,不贴代码了;
测试类代码如下:
@Test public void test() throws IOException { InputStream input = Resources.getResourceAsStream("SqlSessionConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input); SqlSession sqlSession = sessionFactory.openSession(); LevelDao dao = sqlSession.getMapper(LevelDao.class); List<Level> all = dao.findAll(); for (Level level : all) { System.out.println(level); } }
接下来我们debug执行测试方法,在第四行处打断点是可以在IDEA面板中跳转到我们的mybatis源码的类文件中的,接下来我们就可以自己写注释,来学习mybatis3的底层源码。
关于“如何部署并运行MyBatis3”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。