MyBatis学习小记

以下是Java渣渣关于使用MyBatis框架的小结,欢迎批评指导:
MyBatis
简介: MyBatis本是 apache 的一个开源项目 iBatis , 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的 持久层 框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
//以上这些来自MyBatis官网  http://www.mybatis.org/mybatis-3/zh/index.html

以上这些都太过概括化,概念化。我的理解是:建好数据库-写项目(引jar包-写实体类-写dao层-写xml文件-配置环境-测试)
下面我将按照我说的这几步截图演示:
  1. 建立数据库
    1. 我用的是SQLyog - 64 bit(小海豚)
    2. 新建表格用户表
  2. 引jar包
    1. 这里会用到mybatis、mysql-connector-java、junit、log4j(分别是:今日框架、连接数据库映射sql语句、测试会用到、打印日志(可有可无毕竟不是必须))
    2. 我这里写项目用的是idea这款软件,所以在pom文件里面直接添加这四个就好了。
  3. 写实体类
    1. 实体类这块我就不展示了,我在实体类里面将数据库表里面的内容一一列举,并建立了getset方法,还有toString方法。为的是后面需要调用里面内容时,以及打印内容时方便。
  4. dao层
    1. 这一层是为了业务逻辑层与数据库打交道的中间层,我先写了一个接口,之后再写xml文件的。这里我想实现两个功能,分别是查询一共有多少条数据,另外遍历所有用户。
  5. 写xml文件
    1. 建立mapper的命名空间,对应到相应的接口
    2. 建立resultMap
    3. < resultMap id ="起个名(叫啥都行后面需要映射表时需要调用)" type ="(映射的对象(类名))">
      < id property ="实体类中的名字" column ="表中的名字"/>
      < result property ="实体类中的名字" column ="表中的名字"/>
      (实体类有几个写几个)
      </ resultMap>
    4. 写sql语句 里面一共四个标签:select(查)、insert(增)、delete(删)、update(改),每一个标签对应一条相关语句,如果下面以查为例:
    5. < select id ="起个名字(与接口中一致)" resultMap ="返回类型(由于要遍历要与列表中列明对应(上面命名空间中写的),如果是数字就写int或Integer就行)">
      SELECT tu.id, tu.user_name, tu.password, tu.nick_name from t_user as tu order by id DESC(见笑了)
      </ select>
  6. 配置环境
    1. 在resources这个配置文件夹下,我配置了数据库信息,建立一个file文件,手敲一个名字.properties,之后在里面填写数据库信息。
    2. 依旧在这个文件夹下配置mybatis-config.xml文件
    3. < properties resource ="刚才写的数据库文件名"/>(其实数据库在下面也能配置,但是框架会以这个为准,认真点)
      < settings>
      < setting name ="logImpl" value ="LOG4J"/>(打印日志,pom文件里面提到的那个)
      </ settings>

      < typeAliases>
      < package name ="包名(1.如果有多个包嵌套以点隔开。2.这里写的包对应的是实体类)"/>
      </ typeAliases>

      < environments default ="development(这个名字随便起,最好见名知意,要与下面的environment里面的id属性名一致)">
      < environment id ="development(与上一层environments里面的default属性名一致)">
      < transactionManager type ="JDBC(这个不多说了)"></ transactionManager>
      <!--将连接放到外面,方便替换数据库时直接替换文件,面对修改关闭-->
      < dataSource type ="POOLED">(这块不太懂,不过好用,将来研究)
      < property name ="driver" value ="${jdbc.driver}"/>(用${}方式调用刚才建立数据库信息,也可以手敲配置信息,但是为了方便将来维护更换数据库还是写到外面好些)
      < property name ="url" value ="${jdbc.url}"/>
      < property name ="username" value ="${jdbc.username}"/>
      < property name ="password" value ="${jdbc.password}"/>
      </ dataSource>
      </ environment>
      </ environments>

      < mappers>
      < mapper resource ="这里写mapper文件对应地址先写包名一路写到.xml文件,以/隔开"/>
      </ mappers>
  7. 测试
    1. 先通过SqlSessionFactoryBuilder的build方法调用mybatis-config,xml方法,之后将这个值赋给SqlSessionFactory,通过SqlSessionFactory建议SqlSession,调用其中的selectList方法,里面调用mapper.xml文件中的相应的方法id属性名,最有关闭SqlSession方法通过.close方法。下面通过遍历用户表为例演示:
    2. SqlSession sqlSession = null;(先赋个值,因为后面多处需要调用)
      try {
      InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");(将mybatis-config.xml文件放在inputStream里面)
      SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();(建立sqlSessionFactoryBuilder)
      SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);(通过sqlSessionFactoryBuilder建立sqlSessionFactory)
      sqlSession = sqlSessionFactory.openSession();(通过sqlSessionFactory建立sqlSession)
      List< TUser> tUsers = sqlSession. selectList( "调用mapper.xml文件中的sql语句对应的id标签名");
      for ( TUser tUser : tUsers) {
      System. out. println( tUser);
      }(增强for循环,遍历并打印结果)
      } catch (Exception e) {
      e.printStackTrace();
      }finally {
      MyBatisUtil. closeSesstion( sqlSession);(最后记得关闭SqlSession)
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值