本文是使用IDEA Maven搭建Mybatis环境
涉及到的搭配环境
-
JDK1.8
-
Maven3.6.3
-
IDEA2019
-
MySQL数据库
一、Maven介绍
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,是一个自动化构建工具。
自动化构建工具:将原材料(java、js、css、html....)->产品(可发布项目)
编译-打包-部署-测试 -> 自动构建。
二、Mybatis介绍
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
当前,最新版本是MyBatis 3.5.6 ,其发布时间是2020年10月6日。
三、在IDEA中搭配Maven工程
1、首先点击File、选择New(新建)、点击Project...创建项目。如下图:
2、在左侧一栏中选择Maven、然后选择你的JDK版本,本文选择使用JDK1.8版本,勾选JDK下方选择Maven版本,然后点击Next。如下图:
3、然后给自己的工程命名,Groupld相当于包名,以后公司可能要求,自己的话想不想改都可以,看自己,然后点击Next。如下图:
4、点击图中...选择自己安装的Maven版本,本文中安装的是Maven3.6.3,接下来勾选Override更改Maven的sttings文件:选择安装的Maven路径下的conf文件下的settings.xml文件,下面一样,如果自己安装了本地的Maven库可以自行选则,然后点击Finish。如下图:
5、配置完成后基本上就会出现如下图的工程目录了。如下图:
6、点击pom.xml文件,导入相关依赖,点击Import Changes自动下载相关依赖,这就要看你网速给不给力了,等一会刷新一下看看,不下载了就是导入完成了,我这个报红是没导入完,在这个工程中用不到,我就不导入了。如下图:
相关导入依赖代码如下:
<dependencies><!-- mybatis核心包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!-- mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.29</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
导入依赖之后Maven基本就搭配完成了,接下来配置Mybatis。
四、配置Mybatis
1、首先按照自己的需求创建数据库以及结构属性,我就是用我经常用的测试数据库来测试了。如下图:
2、接下来在java文件夹下分别创建类以及接口,我通常选择用com.xx.xx结构来命名包名,当然这都看个人喜欢,以及自己所创建数据库所对应的属性,本文我就采用我所创建的数据库来举例了,详情如下:
代码如下:
User:
package com.yy.pojo;public class User {private int id;private String name;private int age;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", sex='" + sex + '\'' +'}';}
}
UserDao:
package com.yy.dao;import com.yy.pojo.User;import java.util.List;public interface UserDao {List<User> findById(int i);
}
3、接下来配置Mybatis的核心文件(mybatis-config.xml):在main文件夹下创建resources文件夹,在resources文件夹下创建mybatis-config.xml文件,填写相关代码,如下图:
相关代码如下:
记住不要忘记更改自己设置的数据库名字和密码。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//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"/><!-- 数据库连接相关配置 ,这里动态获取config.properties文件中的内容--><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/test" /><property name="username" value="root" /><property name="password" value="x5" /></dataSource></environment></environments><!-- mapping文件路径配置 --><mappers><mapper resource="mapper/UserMapper.xml"/></mappers></configuration>
4、在resources文件夹下创建mapper文件夹,在mapper文件夹下存放需要映射的xml文件(UserMapper.xml)
如下图:
相关代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名 mybatis会依据这个接口动态创建一个实现类去实现这个接口, 而这个实现类是一个Mapper对象-->
<mapper namespace="com.yy.dao.UserDao"><select id="findById" parameterType="int" resultType="com.yy.pojo.User">select * from user where id = #{id}</select>
</mapper>
5、最后在在编写测试类就好了,如图:
代码如下:
import com.yy.dao.UserDao;
import com.yy.pojo.User;
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 org.junit.Test;import java.io.IOException;
import java.io.Reader;
import java.util.List;/*** 这是一个新建的类*/
public class UserTest {@Testpublic void userFindByIdTest(){//定义读取文件名String resources = "mybatis-config.xml";//创建流Reader reader=null;try {//读取mybatis-config.xml文件到reader对象中reader= Resources.getResourceAsReader(resources);} catch (IOException e) {e.printStackTrace();}//初始化mybatis,创建SqlSessionFactory类的实例SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);//创建session实例SqlSession session=sqlMapper.openSession();//传入参数查询,返回结果UserDao userMapper=session.getMapper(UserDao.class);//传值的三种方式List<User> list=userMapper.findById(2);//输出结果System.out.println(list);//关闭sessionsession.close();}
}
6、最后右键测试类运行测试就好啦,如图:
本文结束
最后如果本文帮助到了你欢迎点赞评论,遇到不明白的不会的也可以私聊或者评论小主,我们一起学习。最后,谢谢大家的观看。