使用 Maven 搭建 Mybatis 环境

一、创建项目

1、点击 File --> New --> Module

2、选择左侧的 Maven,由于只是创建一个普通的项目, 此处点击 Next 即可。

使用 Maven 搭建 Mybatis 环境_第1张图片

3、输入 GroupId 和 ArtifactId。

使用 Maven 搭建 Mybatis 环境_第2张图片

4、配置 maven 的 pom.xml 文件

设置资源文件路径。IDEA 的 Maven 默认是只会打包 resource 下的资源文件,不会编译 src 下的 java 目录的 xml 文件,如果 mapper 文件不全放在 resource 文件夹下,则需要通过配置告知 Maven。


    
        
            src/main/java
            
                **/*.properties
                **/*.xml
            
            false
        
    

添加 jar 包依赖。


    
    
        org.mybatis
        mybatis
        3.5.1
    
    
    
        mysql
        mysql-connector-java
        8.0.13
    
    
    
        junit
        junit
        4.11
    

5、目录结构

使用 Maven 搭建 Mybatis 环境_第3张图片

二、创建实体类

实体类的属性需要与数据库表中的字段一一对应, 并有对应的 getter 和 setter。

package com.noteligible.pojo;

import java.io.Serializable;

public class User {
    int id;
    String account;
    String password;
    String name;
    String phone;

    public int getId() { return id; }

    public void setId(int id) { this.id = id; }

    public String getAccount() { return account; }

    public void setAccount(String account) { this.account = account; }

    public String getPassword() { return password; }

    public void setPassword(String password) { this.password = password; }

    public String getName() { return name; }

    public void setName(String name) { this.name = name; }

    public String getPhone() { return phone; }

    public void setPhone(String phone) { this.phone = phone; }
}

三、添加 Mybatis 核心配置文件

在 resource 文件夹新建 mybatis-config.xml(名称不固定),该文件是 Mybatis 核心配置文件,配置文件内容为数据源、事务管理。




    
    

    
    
        
    

    
    
        
            
            
            
            
            
                
                
                
                
            
        
    

    
    
        
    

1、引用 jdbc.properties 文件,读取配置文件中的属性

在 resource 文件夹新建 jdbc.properties 配置文件,保存配置相关的信息。

JDBC 连接 MySQL5 使用驱动包 com.mysql.jdbc.Driver,JDBC 连接 MySQL6 及以上使用驱动包 com.mysql.cj.jdbc.Driver,且需要指定时区 serverTimezone。

# mysql驱动包名
driver=com.mysql.cj.jdbc.Driver
# 数据库连接地址
url=jdbc:mysql://localhost:3306/demo_1? serverTimezone=GMT &useUnicode=true& characterEncoding=utf8
# 用户名
username=root
# 密码
password=root

2、typeAliases 设置类型别名

类型别名是为 Java 类设置一个短的名字(大小写不敏感),用来减少类完全限定名的冗余。


    

但一般来说pojo都会有很多, 所以 mybatis 支持指定包名,批量指定别名,扫描整个包下的类。


    
    

3、environments 环境配置

environments 对应的是数据库相关的属性。我们可以配置多个环境,但每个 SqlSessionFactory 实例只能选择其一,和spring整合后 environments配置将废除。

4、加载 mappers 映射文件

方法一:使用相对于类路径加载单个映射文件


    

方法二:使用mapper接口类路径加载单个映射文件

(此方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中)


    

方法三:指定包名批量加载映射文件 ,该配置会扫描指定包中的所有 .xml 文件。

(此方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中)


    

四、创建 sql 映射文件

在 mapper 文件夹新建 UserMapper.xml 文件,并在 Configuration.xml 文件中加载该文件





    
    
    
    
    

使用 resultType 时,其类属性名必须和查询的列名一致,如果不一致可以用 resultMap。

五、编写测试类

在 test 文件夹 新建 junit 测试类。

public class test {
    private SqlSessionFactory sqlSessionFactory = null;
    @Before
    public void init() throws Exception{
        // 1. 创建SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        // 2. 加载SqlMapConfig.xml配置文件
        InputStream inputStream = Resources.getResourceAsStream("mybaits-config.xml");
        // 3. 创建SqlSessionFactory对象
        this.sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
    }
    @Test
    public void testQueryUserById() {
        // 4. 创建SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 5. 执行SqlSession对象执行查询,获取结果User
        // 第一个参数是UserMapper.xml的statement的id,第二个参数是执行sql需要的参数;
        User user = sqlSession.selectOne("queryUserById",1);
        // 6. 打印结果
        System.out.println(user);
        // 7. 释放资源
        sqlSession.close();
    }
}

selectOne 只能查询一条记录,selectList 可以查询一条或多条记录。

你可能感兴趣的:(IDEA的使用,Mybatis)