背景

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

正文

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

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

  <dependency>

    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>x.x.x</version>
 </dependency>

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

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

  

  2、接下来就是要配置sql了的配置文件了,也就是我们的mapper。这次我直接截图我的demo中的配置。首相是namespace,这个就是一个命名空间,必须要唯一的。其中里面的节点select作为查询,insert当然就是插入了,大家一看就明白了。至于里面的节点怎么写的,可以直接看官网,说的很明白。

    

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

  4、接下来就是开始代码的工作了。我将单元测试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开发,大数据开发,如有需要请与我联系。

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

版权声明:本文为hackerxiaoyon原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/hackerxiaoyon/p/7884418.html