ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用IDEA Maven搭建Mybatis环境

2021-03-10 23:34:13  阅读:171  来源: 互联网

标签:xml id IDEA 如下 Maven Mybatis import public


本文是使用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;
    }

    @Override
    public 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 configuration
        PUBLIC "-//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 mapper
        PUBLIC "-//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 {


    @Test
    public 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);
        //关闭session
        session.close();

    }
}

6、最后右键测试类运行测试就好啦,如图:

本文结束

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

标签:xml,id,IDEA,如下,Maven,Mybatis,import,public
来源: https://blog.csdn.net/weixin_48279836/article/details/114645178

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有