使用IDEA Maven搭建Mybatis环境
本文是使用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、最后右键测试类运行测试就好啦,如图:
本文结束
最后如果本文帮助到了你欢迎点赞评论,遇到不明白的不会的也可以私聊或者评论小主,我们一起学习。最后,谢谢大家的观看。
使用IDEA Maven搭建Mybatis环境相关推荐
- eclipse上搭建MyBatis环境
在eclipse上搭建了MyBatis运行环境,并实现基本查询操作 第一步:数据库准备: 1.创建数据库表 user_information 2.向表中插入一些记录 第二步:建立Java项目命名为My ...
- maven搭建gae环境并导入eclipse中
1 配置好jdk maven环境 2 cmd 项目路径 3 mvn archetype:generate 4 com.google.appengine.archetypes: 5 选择类型 6 选择版 ...
- 1 搭建MyBatis环境
1.1 添加jar包 mybatis-3.5.1.jar----mybatis所需jar mysql-connector-java-5.1.22-bin.jar----用来连接操作mysql数 ...
- Intellij IDEA使用Maven搭建spark开发环境(scala)
如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作 首先需要在你电脑上安装jdk和scala ...
- eclipse maven 搭建 SSM(Spring+SpringMVC+MyBatis)开发环境 和 MyBatis 自动生成的 maven 插件配置
最近研究java web开发,首先需要配置好开发环境,查阅网上各位大神的文章后搭建完成,记录下来作为备忘. 1.安装Maven Maven下载地址:http://maven.apache.org/do ...
- Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建
Spring+Maven+Dubbo+MyBatis+Linner+Handlebars --Web开发环境搭建 本文主 ...
- Spring + Maven + Dubbo + MyBatis + Linner + Handlebars-Web开发环境搭建
spring + Maven + Dubbo + MyBatis + Linner + Handlebars - 开发环 ...
- 利用Maven搭建Spring开发环境 【转】
2019独角兽企业重金招聘Python工程师标准>>> 一. 概要说明 最近几天在测试Spring3.0的AOP功能,在测试功能之前,首先是要搭建出Spring3.0的开发功能. ...
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...
最新文章
- 百度搜索中台的FaaS化建设和智能化建设
- 深入剖析MobileNet和它的变种
- InterlockedIncrement函数详解
- fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
- 电路常识性概念(5)-上拉电阻、下拉电阻 / 拉电流、灌电流 / 扇出系数
- 大公司c#amp;.net转型java的原因有哪些?
- 水仙花数 java 1 100_Java练习题1:找出100——999数中的所有水仙花数
- pclint 与vs2010结合识别预处理器定义
- aix 查看防火墙状态_aix防火墙怎么样设置
- openresty lua集成kafka
- uni-app在小程序开发者工具:TypeError: Cannot read property ‘forceUpdate‘ of undefined
- 基于汇编与c语言的单片机原理及应用答案,基于汇编与C语言的单片机原理及应用...
- SPSS编程-统计自动化-VBA脚本开发
- 基于STC89C52单片机的LED显示电子钟的制作
- win32下的OpenGL绘图环境框架
- 全排列(下一个排列,算法)
- 好设计如何诞生:关于好设计的100件事
- PVE7更新AQC107网卡驱动,解决奇葩问题。
- php极简wiki,Wiki.js初体验
- Linux 系统的基本使用
热门文章
- P3511 [POI2010]MOS-Bridges(网络流/欧拉回路)
- HTTP协议支持的方法
- bzoj#3456. 城市规划
- Subsequence Pair
- 2020牛客国庆集训派对day1 	Zeldain Garden
- POJ3177 Redundant Paths
- 牛客网【每日一题】5月15日题目 储物点的距离
- jzoj3846-七天使的通讯【二分图判定】
- codeforces1559 D2. Mocha and Diana (Hard Version)(并查集+启发式合并+随机化)
- 2021“MINIEYE杯”中国大学生算法设计超级联赛(2)I love exam(背包)