mybatis简单搭建

背景

  闲来没事把mybatis再熟悉一下,可能以前本身搭过没有记录。mybatis其实就是一个orm框架,在咱们以前作.net工做的时候,咱们的ef,dapper等都是这样的框架,java如今web流行的就是ssm框架,Spring+SpringMVC+Mybatis。今天我要搭的只是mybatis的一个小demo。html

正文

  选择mybatis的版本,我下载了一个 3.4.4的版本。而后打开官网 www.mybatis.org/mybatis-3。java

  官网说的很清楚,若是你是用的Maven那么直接把web

  <dependency>面试

  <groupId>org.mybatis</groupId>    sql

   <artifactId>mybatis</artifactId>   mybatis

  <version>x.x.x</version>  app

  </dependency>
框架

  复制到你的pom.xml中,我是直接加载的jar包,mybatis的jar包和lib中的jar包。ok,看着官网走吧。单元测试

  一、配置你的环境数据源配置文件,也就是一个环境加载数据的地方。直接拿来官网的,environment中的配置信息就是当初咱们的jdbc的配置信息。mappers节点,一看是加了s的那么说明会有多个mapper没错就是这样的。咱们这里只是作一个demo,用一个表。测试

  

  二、接下来就是要配置sql了的配置文件了,也就是咱们的mapper。此次我直接截图个人demo中的配置。首相是namespace,这个就是一个命名空间,必需要惟一的。其中里面的节点select做为查询,insert固然就是插入了,你们一看就明白了。至于里面的节点怎么写的,能够直接看官网,说的很明白。

    

  三、两个文件都有了,那么怎么合并,其实就在在第一个配置文件的mappers中添加一个mapper而后将sql的配置地址复制给它就ok了。其实里面还有不少的属性,http://www.mybatis.org/mybatis-3/configuration.html#mappers  官网这里会详细介绍。这里咱们用的是resource属性。

  四、接下来就是开始代码的工做了。我将单元测试jar导入进来,建立一个class用来写测试方法。这里我只写了一个查询一个插入。

    ->String resource = "org/mybatis/example/mybatis-config.xml";

      InputStream inputStream = Resources.getResourceAsStream(resource);

      SqlSessionFactory sqlSessionFactory =                             new SqlSessionFactoryBuilder().build(inputStream);
      
      官网的代码,这是咱们的第一步。也就是获取咱们须要的会话工厂,接下来就是建立会话。
    
      
   ->  openSession = ssf.openSession();

     List<Student> list = openSession.selectList("studentsManager.selectStudents", "李四");

      list.forEach(System.out::println);

      open会话开始,selectList是查询集合的方法,第一个参数是咱们mapper具体的执行块,第二参数是我传递的查询参数。这样直接就能够查出来了。
      这个查询,那么看一下插入。插入也是这个过程只不过在插入以后要有点变更。也就是插入是一个事务维护的,若是插入失败是须要回滚的,只有插入成功才会去提交。
      

      int update = openSession.insert("studentsManager.insertStudent", new Student("lili", "数学", 77.3f));
      if(update>0)
      {
        openSession.commit();
      }
      else
      {
        openSession.rollback();
      }

 

 

总结

  这阵子再面试中,我以为面试是一个技巧,可能本身缺少面试技巧。短短的几十分钟内,或者一两小时内,若是让面试官认识到本身的价值。是须要必定的能力的,我会努力。目前正在寻找java开发,大数据开发,若有须要请与我联系。

  没有停滞不前,只有退步与进步。

相关文章
相关标签/搜索