使用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、最后右键测试类运行测试就好啦,如图:

本文结束

        最后如果本文帮助到了你欢迎点赞评论,遇到不明白的不会的也可以私聊或者评论小主,我们一起学习。最后,谢谢大家的观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用推荐算法

转载自 常用推荐算法在推荐系统简介中&#xff0c;我们给出了推荐系统的一般框架。很明显&#xff0c;推荐方法是整个推荐系统中最核心、最关键的部分&#xff0c;很大程度上决定了推荐系统性能的优劣。目前&#xff0c;主要的推荐方法包括&#xff1a;基于内容推荐、协同过滤…

不该活着的SqlHelper和DBHelper

前言&#xff1a; 还记得刚学ADO.NET的情景么&#xff1f; 还记得当年是怎么从ADO.NET被忽悠到用SqlHelper的么&#xff1f; 话说从入门到走上工作岗位那些年&#xff0c;我们就一直被纯纯地教导或引导&#xff0c;ADO.NET太原始&#xff0c;得封装成SqlHelper或DBHelper......…

使用IDEA配置Mybatis-Plus框架

使用IDEA配置Mybatis-Plus框架 本文是以使用IDEA配置Mybatis-Plus框架作为简单的讲解。 所涉及到的应用&#xff1a; IDEA2019Mybatis-Plus框架Mysql数据库Maven3.6.3jdk1.8 一、什么是Mybatis-Plus框架&#xff1f; MyBatis-Plus(简称MP)是一个MyBatis的增强工具&#xff…

css实现一级下拉菜单

涉及到的图片请到这里下载 涉及到的图片请到这里下载 涉及到的图片请到这里下载 html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"…

UserCF,基于用户的协同过滤算法

转载自 UserCF,基于用户的协同过滤算法UserCF&#xff1a;User Collaboration Filter&#xff0c;基于用户的协同过滤 算法核心思想&#xff1a;在一个在线推荐系统中&#xff0c;当用户A需要个性化推荐时&#xff0c;可以先找到和他有相似兴趣的其它用户&#xff0c;然后…

用BenchmarkDotNet给C#程序做性能测试

BenchmarkDotNet是一个用MIT协议开源的C#程序性能测试的一个库&#xff0c;非常简单易用。 用法 安装NuGet包&#xff0c;BenchmarkDotNet在需要做性能测试的方法前加上属性[Benchmark]。在Main函数调用性能测试var summary BenchmarkRunner.Run<Md5VsSha256>();。 工作…

ItemCF,基于物品的协同过滤算法

转载自 ItemCF,基于物品的协同过滤算法ItemCF&#xff1a;Item Collaboration Filter&#xff0c;基于物品的协同过滤 算法核心思想&#xff1a;给用户推荐那些和他们之前喜欢的物品相似的物品。 比如&#xff0c;用户A之前买过《数据挖掘导论》&#xff0c;该算法会根据此行…

用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

Swagger是一个描述RESTful的Web API的规范和框架。如果使用ASP.NET的话&#xff0c;可以用Swashbuckle来自动生成Swagger,具体参考如何使 WebAPI 自动生成漂亮又实用在线API文档。下面详细的介绍一下如何给ASP.NET Core的项目自动生成Swagger的API帮助文档。 创建ASP.NET Core的…

涨知识 | 100个中国最难读的地名,第一个就折了

内容来源网络&#xff0c;侵删&#xff01; 1.浙江丽水的丽&#xff0c;不读l&#xff0c;读l。 2.浙江台州、天台的台&#xff0c;不读ti&#xff0c;读tāi。 3.浙江嵊州的嵊&#xff0c;读音为shng。 4.浙江鄞县的鄞&#xff0c;读音为yn&#xff0c;不读jn。 5.浙江乐清的乐…

JSP 教程

JSP 教程JSP 教程JSP 简介JSP 开发环境搭建Eclipse JSP/ServletJSP 结构JSP 生命周期JSP 语法JSP 指令JSP 动作元素JSP 隐式对象JSP 客户端请求JSP 服务器响应JSP HTTP 状态码JSP 表单处理JSP 过滤器JSP Cookie 处理JSP SessionJSP 文件上传JSP 日期处理JSP 页面重定向JSP 点击…

IronPython项目有了新负责人

运行IronPython项目的社区领导职责已经交给了Alex Earl和Benedikt Eggers。之前的负责人Jeff Hardy自微软在2010年不再积极参与以来一直负责项目的运行。 Jeff Hardy写道&#xff1a; 应该已经相当明显了&#xff0c;IronPython项目有点停滞不前&#xff0c;那主要是我的错&…

修改Tomcat编码方式的两种方法

转载自 修改Tomcat编码方式的两种方法方法一&#xff1a;推荐&#xff0c;不会影响到其它项目 见我的另一篇博客&#xff1a;http://www.cnblogs.com/x_wukong/p/3292664.html 修改方法&#xff1a; 修改tomcat下的conf/server.xml文件&#xff0c;找到Connector标签&#x…

Microsoft宣布.NET Core支持计划

微软宣布针对.NET Core、ASP.NET Core和Entity Framework Core的支持计划。据来自微软的Lee Coward介绍&#xff0c;公司计划使用一种双管齐下的方法来管理这些系统的发布。该计划回答了微软开源计划背后的其中一个主要问题——开发人员可以在多长时间内依赖微软向这些年轻的项…

《机器学习项目开发实战》送书活动结果公布

截止到8月8日24&#xff1a;00&#xff0c;本次送书活动 共收到70位同学参与回复&#xff0c;本次很多同学在看到活动的书《机器学习项目开发实践》&#xff0c;自行就到各大网络商店上购买了书&#xff0c;据反馈这个书很不错&#xff0c;小二昨天也收到一本人民邮电出版社的书…

如何在局域网访问Tomcat项目

转载自 如何在局域网访问Tomcat项目1 前言有时候因为工作需要&#xff0c;我们需要访问服务器上的项目或是把你的机器上的项目让你的同事访问到&#xff0c;诸如此类的&#xff0c;都涉及到了这个课题&#xff1a;如何在局域网访问Tomcat项目&#xff1f;而tomcat本身是支持局…

键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)

package com.coffn.demos; /*** 4、键盘录入一个正整数&#xff0c;把它的各个位上的数字倒着排列形成一个新的整数并输出。例如&#xff1a;12345 数出54321 78760 输出6787&#xff08;0省去&#xff09;*/ import java.util.Scanner;public class Demo1 {public static vo…

Entity Framework Core延期及弃用的特性

由于破坏了向后兼容性&#xff0c;Entity Framework的名声相当不光彩&#xff0c;但与Entity Framework Core的完全重写相比就相形见绌了。在本文中&#xff0c;InfoQ将着眼于其中部分主要特性的变化及其影响。 延期及弃用的特性 首先&#xff0c;我们将看下那些EF Core 1.0没有…

JSP页面EL表达式不解析

转载自 JSP页面EL表达式不解析问题是这样&#xff1a;在搭建springMVC环境的时候&#xff0c;笔者写了一个简单的Controller如下&#xff1a;Controller public class HelloController {RequestMapping(value "/hello.do", method RequestMethod.GET)public Strin…

将字符串String str= “abc god 中国 java“ 反转每个单词 结果: “cba dog 国中

/*** String str "abc god 中国 java"&#xff08;较难&#xff09; 反转每个单词结果&#xff1a; "cba dog 国中 avaj"**/ public class Demo2 {public static void main(String[] args) {String str …

netcore - MVC的ActionFilter的使用

经过一周的时间没有分享文章了&#xff0c;主要是在使用.netcore做一个小的项目&#xff0c;项目面向大众用户的增删改查都做的差不多了&#xff0c;打算本周在云服务器上部署试试&#xff0c;很期待&#xff0c;也希望上线后大家多多支持&#xff1b;以上纯属个人废话&#xf…