MyBatis入门案例_创建项目所需文件和编写内容


使用MyBatis的步骤

1、pom.xml依赖: 添加使用mybatis需要的依赖和其他配置,插件
2、类文件: 创建对应数据库表的实体类和访问数据的dao接口
    1)、实体类 Student.java
    2)、dao接口 StudentDao.java
3、配置文件: 创建mybatis所需的配置文件
    1)、sql映射文件 StudentDao.xml
    2)、mybatis主配置文件 mybatis.xml

1. pom依赖

添加依赖

在pom.xml文件中添加mybatis和mysql驱动依赖,项目资源构建设置和编译项目所需的插件



    org.mybatis
    mybatis
    3.5.1



    mysql
    mysql-connector-java
    5.1.9



    
        
            src/main/java
            
                **/*.properties
                **/*.xml
            
            false
        
        
            src/main/resources
            
                **/*.properties
                **/*.xml
            
            false
        
    
    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.1
            
                8
                8
            
        
    

2. 类文件

2.1. 实体类

编写实体类

编写和数据库表中数据行(记录)对应的java实体类 src/main/java/com/bipowernode/domain/Student.java

package com.bipowernode.domain;
/**
 * @author nathan
 * @date 2021-11-19-20:37
 */
import org.apache.ibatis.type.IntegerTypeHandler;
/**
 * 1、定义实体类
 *  要求: 推荐和数据库表的名称一致,方便记忆
 */
public class Student {
    /**
     * 2、定义实体属性
     *  要求: 实体类中的属性名和数据库表中的列名(字段名)保持一致
     */
    private Integer id ;
    private String name;
    private String email;
    private Integer age;
    /**
     * 3、生成属性对应的get,set方法
     */
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    /**
     * 4、重写toString()方法
     */
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}

2.2. dao接口

创建操作数据的dao接口 src/main/java/com/bipowernode/dao/StudentDao.java

package com.bipowernode.dao;

import com.bipowernode.domain.Student;

import java.util.List;
/**
 * 1、定义操作实体类数据的dao接口
 */
public interface StudentDao {

    /**
     * 2、定义接口抽象方法,dao中的方法是一个"操作"对应sql语句的执行"操作"
     *   而操作对应的sql语句编写在单独的sql映射配置文件中,配置文件的位置和dao接口在同一目录下
     *   且配置文件文件名建议和接口名保持一致
     */
    //定义 查询Student表中的所有数据 的方法
    public List selectStudents();
}

3. 配置文件

3.1. sql映射文件

创建sql映射文件 src/main/java/com/bipowernode/dao/StudentDao.xml

<?xml version="1.0" encoding="UTF-8" ?>



    



3.2. mybatis主配置文件

在src目录下的resource目录下创建mybatis的主配置文件

src/main/resources/mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>



    

        

            
            

                
                
                
                
            
        
    

    

        
    




1、添加maven插件

pom.xml中添加内容


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


    
        maven-compiler-plugin
        3.1
        
            1.8
            1.8
        
    

??注: 其中plugins的内容可以不用添加到pom.xml中,默认提供.

??注: 如果编译后的target中没有mybatis.xml注配置文件,也可以添加resource指定编译目录下的配置文件.xml,或.properties。

2、为什么要添加build插件

默认情况下,位于java包下的.xml,.properties等配置文件不会被mybatis处理,如果mybatis不处理,则编译后的target目录会缺失配置文件内容(图),则导致程序出错。

说明: 上图中classes就是类路径,此时类路径下有编译后的配置文件StudentDao.xml,这样mybatis就可以处理配置文件中的内容。


    ....

        
    

说明: resource的值应该是target/classes类路径下的路径名,如com/xxx/xxx/*.xml,注意使用/分隔而不是.。设置了正确的路径后,在mybatis主配置文件中会寻找这个文件,执行其中的sql语句。

创建完成后一个Idea+maven+mybatis项目的文件结构(图)

相关