MyBatis学习总结(一)——MyBatis初体验

github同步更新
博客同步更新
同步更新
参考原文地址
项目地址:传送门

  • 1、创建表结构

        create database mybatis;
        use mybatis;
        CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
        INSERT INTO users(NAME, age) VALUES('wolf', 27);
        INSERT INTO users(NAME, age) VALUES('tiger', 27);
        
  • 2、环境配置

首先右键项目,点击Open Model setting,然后点击右侧的+号,选择jar,添加项目的lib目录


MyBatis学习总结(一)——MyBatis初体验_第1张图片
添加lib
MyBatis学习总结(一)——MyBatis初体验_第2张图片
添加jar

添加Mybatis的配置文件conf.xml,在src目录下创建一个conf.xml文件,内容如下:




    
        
            
            
            
                
                
                
                
            
        
    



  • 添加User表对应的实体类
package com.shi.mybatis;

/**
 * @author AfinalStone
 * users表所对应的实体类
 */
public class User {

    //实体类的属性和表的字段名称一一对应
    private int id;
    private String name;
    private int age;

    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;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
}
  • 定义操作users表的sql映射文件userMapper.xml

创建一个com.shi.mapping包,专门用于存放sql映射文件,在包中创建一个userMapper.xml文件,如下图所示:





    
    
    

  • 在conf.xml文件中注册userMapper.xml文件




    
        
            
            
            
                
                
                
                
            
        
    

    
        
        
    



  • 编写主程序代码
package com.shi.mybatis;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class Main {


    public static void main(String[] args) throws IOException {
        //mybatis的配置文件
        String resource = "conf.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is = Main.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        //Reader reader = Resources.getResourceAsReader(resource);
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中sql的sqlSession
        SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串,
         * com.shi.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        String statement = "com.shi.mapping.userMapper.getUser";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        User user = session.selectOne(statement, 1);
        System.out.println(user);
    }
}
  • 最后看一下项目整体结构图以及输出结果,到这里我们在项目中成功使用了MyBatis框架:
MyBatis学习总结(一)——MyBatis初体验_第3张图片
项目结构图

项目地址:传送门

你可能感兴趣的:(MyBatis学习总结(一)——MyBatis初体验)