zoukankan      html  css  js  c++  java
  • mybatis简单搭建

    背景

      闲来没事把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开发,大数据开发,如有需要请与我联系。

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

  • 相关阅读:
    健身减脂报告贴
    Write a function that generates one of 3 numbers according to given probabilities
    Algorithm | Random
    58. Length of Last Word
    56. Merge Intervals 57. Insert Interval *HARD*
    sort中的比较函数compare
    54. 59. Spiral Matrix
    51. N-Queens 52. N-Queens II *HARD*
    50. Pow(x, n)
    查看map中是否有某个关键字
  • 原文地址:https://www.cnblogs.com/hackerxiaoyon/p/7884418.html
Copyright © 2011-2022 走看看