重学Mybatis基础配置和开发步骤

来源:互联网 发布:淘宝网天猫童鞋 编辑:程序博客网 时间:2024/06/04 17:45

1.Mybatis框架的引言

      a)MyBatis框架的基本概念

           MyBatis是一个持久层框架,完成对数据库的访问(CRUD)

       b)MyBatis框架解决了什么问题?

               JDBC访问和操作数据库存在问题:

                   I.大量的代码冗余

                   Ii.手工处理ORM(麻烦)

                   Iii.没有对数据库进行优化(Cache

                解决JDBC访问和操作数据库存在的问题,是对原有JDBC技术的封装

       cMyBatis框架的核心编程思路

             

2.第一个Mybatis程序的开发(HelloWorld)

     a)环境搭建(OpenSource)

          i.IbatisMyBatis的前身,apache组织

          ii.IBatis3.0开始改名为MyBatis   google  code

          iii.MyBatis 属于GitHub

             1.导入Jar

                 a)Mybatis的核心jar

                 b)第三方依赖jar

                 c)Oracle的驱动jar  ojdbc14.jar

             2.引入配置文件

                 alog4j.properties【可选】  放置位置Src跟目录下

                     日志的配置文件 MyBatis框架运行过程中的日志信息打印出来

                     目的:关注MyBatis运行过程

                 bMyBatis-config.xml放置位置  随便   建议放置在src目录下

                         配置的是MyBatis运行的相关参数

                 cMapper文件

                      实现DAO接口   位置随便放

              3.初始化配置

                    Mybatis-config.xml配置

                  

                 数据库的相关参数(username  password    driver  url

                 Mapper文件的注册

b)MyBatis   API

      I.Resources   

         作用:读取mybatis-config配置文件。打开IO

      ii.SqlSessionFactory

          作用:通过SqlSessionFactory这个工厂  创建SqlSession对象

      Iii.SqlSession

         作用:1.根据程序员书写的Mapper文件,自动的创建mapper文件对应的java(DAO接口的实现类)

               2.SqlSession内部 封装了Connection对象

               3.SqlSession控制事务 SqlSession.commit  ------Connection.commit

                                  SqlSession.rollback   -----Connection.rollback

                   注意:实战开发中:增删改需要控制事务   查询不需要控制事务

       

  c)MyBatis的开发步骤

       I.建表

       Ii.写实体

       iii.DAO接口

       iiii.Mapper文件做DAO的实现

            

       V. Mapper文件的注册

              

       Vi.MyBatis核心API测试

             


参数绑定

aMybatis代码中形参名与mapper文件中的#{}中的名字没有必然联系

   

b)Mapper文件中可以通过下标的形式,代表接口中的形参

    

   

c)多参数形式的查询解决方案

    注意:在mybatis进行查询时,paramterType是可以省略的,不能随意指定#{},名字

    1.可以通过下标的形式进行操作

            

 

2.@Param注解进行参数绑定(建议)


            3.早期的使用方式

          

         

4.MyBatis中的CUD(增删改)

注意:在MyBatis应用的过程中,处理CUD时,必须要手工控制事务,否则操作不执行

      sqlSession.commit();

      sqlSession.rollback();

     a)删除

           

     b)修改

         

c)插入

Sequence序列进行主键插入[Oracle]


原创粉丝点击