Mybatis使用步骤(IDEA版)


1.创建工程

新建一个Maven普通工程(不需要原型),选中Maven工程后一直next就行

2.Pom.xml建立父工程并添加依赖

简单项目可以直接拿自带的Pom.xml当父工程,直接添加依赖就行。

以下是推荐方式:

  1. 右键project,新建一个module作为parent

  2. 在build Pom.xml添加以下代码:

    
            parent
            module-a
            module-b
            module-c
        
    
  3. 子模块里的Pom.xml添加以下代码即可共用parent的依赖(注意修改为自己的属性):

 
        com.itranswarp.learnjava
        parent
        1.0
        ../parent/pom.xml
    

添加以下依赖:


    org.mybatis
    mybatis
    3.5.7

添加完依赖后,找到右边的Maven菜单,选择子目录下的pom.xml,双击install即可完成导包。

导完包后应能在External libraries里找到对应的jar包,以及import时能显示对应的包。

不知道依赖信息怎么填写可前往此网址搜索:https://search.maven.org/

3.添加mybatis-config.xml文件

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


    
        
            
            
                
                
                
                
            
        
    
    
        
    

4.编写mybatis工具类

从 XML 中构建 SqlSessionFactory,可以编写工具类进行封装获取sqlSession对象:

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream  inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public  static SqlSession getSqlSession(){
        return  sqlSessionFactory.openSession();
    }
}

5.编码

  • 实体类pojo

  • dao接口--习惯改为Mapper接口

public interface UserMapper {
     List getUserList();
}
  • dao实现类Impl--改成map.xml文件,这也是mybatis和jdbc的区别
<?xml version="1.0" encoding="UTF-8" ?>


    

  • 编写test测试方法
public class UserMappterTest {
    @Test
    public void getUserList(){
        SqlSession session = MybatisUtils.getSqlSession();
        UserMapper userMapper = session.getMapper(UserMapper.class);
        Listlist=userMapper.getUserList();
        for (User user:list
             ) {
            System.out.println(user);
        }
        session.close();

    }

}

问题

1.mybatis在web启动时Could not resolve type alias 'User'

路径问题,应该写全限定名,而不是短名称:


没有SSL网站证书认证,需要把mybatis-config.xml里的useSSL=true改成false

useSSL=false,这个从错误提示是看不出来的,它有个很重要的作用是使用JDBC跟你的数据库连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。更高版本。但如果是兼容版本的话就会出错。

原文链接:https://blog.csdn.net/ponxbin/article/details/80608040

进一步查看后发现,虽然依赖写了5.1version的驱动,但实际上连接用的是8.0的驱动:

将其改回5.1,会发现不兼容了已经。建议还是使用最新的8吧

————————————————

3.找不到map.xml文件

可能是存放位置为模块里面,没有指定到模块里去查找,需要进行过滤。在根目录添加以下代码:


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

4.写Map.xml文件的sql语句时,发现没有提示对应数据库信息:

Setting-SQL Dialect设置为MySql。