Mybatis的学习.

  • 一.配置mybatis.cfg.xml(在此之前需要首先配置好log4j的配置文件)
    : 1.在外部编写文件
    (1).driver需要用com.mysql.cj.jdbc.Driver
    (2).url配置上需要注意一下,有data类型,不让通过,需要在url后面添加serverTimezone=UTC或者GMT%2B8
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=
jdbc.username=...
jdbc.password=...

: 2.





  
  

  
  
      
          
          

          
          
          
          
          
              
              
              
              
          
      
  
  
      
  

: 3.映射文件Usermapper.xml




   

: 4.测试类

public class MybatisFirst {
  private String resource="mybatis.cfg.xml";

  @Test
  public void findUserByIdTest() throws IOException {
      InputStream inputStream = Resources.getResourceAsStream(resource);
//       创建会话工厂
      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//        使用会话工厂新建sqlsession,然后使用他来进行数据库的操作.
      SqlSession sqlSession = sqlSessionFactory.openSession();
      User user= sqlSession.selectOne("test.findUserById",2);
      System.out.println(user);
      sqlSession.close();
  }
}

: 5.总结
大概流程就是

1.配置log4j
2.配置mybatis的总配置文件,使连接上数据库
3.配置映射文件,在里面填写调用mysql的语句.
4.新建一个类,使用Mybatis连接到mysql>
  	InputStream inputStream = Resources.getResourceAsStream("配置文件地址");
方法连接到mybatis,然后创建会话工厂>
  	SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
使用会话工厂创建会话>
  	  SqlSession sqlSession = sqlSessionFactory.openSession();
使用会话操作数据库,调用的是映射文件Usermapper里的(命名空间.id的sql语句,并传入参数.)
  	  User user= sqlSession.selectOne("test.findUserById",2);
关闭会话>
      sqlSession.close();

以上结束之后,记录一下使用Mybatis自动生成daoimpl进行开发的开发规范,基本上按照这个来就行了.

  1. Mapper.xml中的namespace等于mapper的接口地址,即等于原始dao接口的地址.
  2. mapper接口中的方法名,输入类型,和输出类型都要和mapper.xml文件中的语句id,输入类型和输出类型一致.
  3. 仍然需要在mybaits里面的mappers里面配置好这个mapper,因为上述两步只是建立起了mapper.xml和dao接口之间的关系,还是需要注册到sqlmapconfig里面…

接下来就是Mybatis和SpringMVC进行整合的时候,使用mapper代理进行开发,也就是不写daoimpl进行开发的过程.
如果使用原始的DaoImpl进行开发,那么就需要DaoImpl类继承sqlsessionfactorysupport类然后加载sqlsessionfactory
若使用mapper代理方法:

  1. 规范和上述一致.
  2. MapperFactoryBean注册到springmvc.
  3. 使用MapperFactoryBean进行注册,不建议使用这种方法,因为每写一个mapper文件就需要配一个这个. 单个文件配置
  4. 建立一个文件夹专门用来放置mapper.xml文件和mapper.java文件,然后使用mapperscannerconfigurer来进行扫描配置,这里需要注意的是如果这样配置需要把mapper文件和java文件放置在同一目录下面,在此基础上遵循上面所写的那两条规范才能正确使用.
    Mybatis的学习._第1张图片
  5. 很好奇有没有不放置在同一文件夹下的方法呢?百度上有,不过我没做测试,照做之下应该是可以的.百度 方法
  6. 上面配置完成之后,就可以直接在service层里面使用@autowired进行装配了.装配的时候写接口类就可以了.

你可能感兴趣的:(java-springmvc)