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

Mybatis学习笔记

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

Mybatis学习笔记

Mybatis Mybatis 基础 1. 配置

可能遇到的问题:

  1. idea的层级目录创建时如果直接按照xx.xx.xx创建事实上是视为同一个文件夹的名称,还是应当逐层创建,此项易造成org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource.且注意最好将xml目录和Dao文件保持一致。否则容易出现填错的情况,如图所示:

  2. 目前使用的MYSQL往往是8.0+,使用较低版本的mysql-connector-java会导致无法连接MYSQL,可以使用以下版本:

    
        mysql
        mysql-connector-java
        8.0.12
    
    

    当然还有常见的时区等问题,建议使用以下配置:

     
                    
                    
                    
                    
                
    

    注意xml中不能直接使用&,需要使用&代替。

  3. 关于映射文件配置如下:

    
        
    
    
  4. 配置使用LOG4J输出日志:

    
        
    
    
  5. 元素下面配置了一个包的别名。通常确定一个类的时候需要使用类的全限定名称,例如mybatis.simple.model.Country,在MyBatis中需要频繁的使用类的权限定名称,为了方便使用,我们配置了mybatis.simple.model包,这样配置以后,我们再使用该包下的类的时候就不用再写上包名了,直接使用类名接口,如 Country 。

  6. 建立SqlSession:

    // 根据 mybatis-config.xml 配置的信息得到 sqlSessionFactory
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
    SqlSessionFactory factory = factoryBuilder.build(inputStream);
    SqlSession session = factory.openSession();
    StudentDao studentDao = session.getMapper(StudentDao.class);
    List studentList = studentDao.findAll();
    
2. MyBatis XML方式多个接口参数处理

现在我们根据用户id和角色的enable状态来查询用户所有的角色,定义一个接口方法(此时接口参数前未加@param注解)

public List selectRolesByUserIdAndRoleEnabled(Long userId, Integer enabled);

这个接口方法对应的UserMapper.xml中的代码为: