栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis第一次学习记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis第一次学习记录

1. 什么是 MyBatis?

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2. Mybatis操作步骤

首先我们要写一个Mybatis的核心配置文件,我们一般叫Mybatis-config.xml,这个名字其实是可以随便起的,但是我们有一句话叫约定大于配置.

Mybatis.config.xml文件代码




    
        
            
            
                
                
                
                
            
        
    
    

    

对于里面的代码就不过多阐述,应该都能理解,environments的意思是多个环境,学习框架大家可以多去看看框架中文文档,学习很有帮助

Mybatis中文文档:入门_MyBatis中文网

第二步  我们需要写一个Mybatis工具类

MybatisUtils.java

public class Util {
    public static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //获取sqlSession对象,它完全包含了面向数据库执行SQL语句所需的所有方法
    public static SqlSession getSqlSession() {
        if(sqlSessionFactory==null){
            System.out.println("这个是空的");
        }
        return sqlSessionFactory.openSession();
    }
}

这里我们要特别注意

Mybatis中文文档里面是这样写的 

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

但是由于sqlSessionFactory是个静态变量,这样写,sqlSessionFactory是个null;

所以我们应该把上面那句代码改成

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

否则就会报空指针异常,我第一次的时候看了一个多点才发现问题

第三步  创建实体类

者一步就很简单了,跟数据库中的字段对应上就可以了,具体的代码就不写了,注意的我们一般叫这种模型起名叫POJO

第四步 写一个Mapper接口

这里也很简单就是写一个方法

package myMapper;

import pojo.User;

import java.util.List;

public interface UserMapper {
    List getUserList();

 }

我们这里写的是一个查询方法

第五步  编写配置文件





    
    
        select * from aaa
    

第六步  执行方法

ublic class UserMapperTest {
    @Test
    public void Test() {
        SqlSession sqlSession = Util.getSqlSession();
        //执行sql
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}

到这里我们就可以实现查询方法了,增,删,改我们只需修改,sql语句和执行哪里的代码就ok了

查询id为1001的

我们在UserMapper.java中新增一个查询方法

 //根据Id来查询用户
    User getById(int id);

在UserMapper.xml中也新增一个sql语句