框架-动力节点MyBatis教程实战精讲(适用于SSM框架初学者课程循序渐进,深入浅出)

  • 课程介绍
  • 课程讲师
  • 课程大纲
  • 购买本课
  • 学员评分

推荐理由

讲的很不错,很清晰,很有趣,深入浅出,通俗易懂。注释写的详细,而且资料很完整。

视频内容

如果你所做的项目业务比较复杂,那么在DAO层可以考虑使用MyBatis框架,MyBatis本是apache的一个开源项目iBATIS,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。

mybatis

第一章

  1. 三层架构
    界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet)
    业务逻辑层: 接收了界面层传递的数据,计算逻辑,调用数据库,获取数据
    数据访问层: 就是访问数据库, 执行对数据的查询,修改,删除等等的。

    三层对应的包
    界面层: controller包 (servlet)
    业务逻辑层: service 包(XXXService类)
    数据访问层: dao包(XXXDao类)

    三层中类的交互
    用户使用界面层--> 业务逻辑层--->数据访问层(持久层)-->数据库(mysql)

    三层对应的处理框架
    界面层---servlet---springmvc(框架)
    业务逻辑层---service类--spring(框架)
    数据访问层---dao类--mybatis(框架)

    2.框架
    框架是一个舞台, 一个模版

    模版:

    1. 规定了好一些条款,内容。
    2. 加入自己的东西

    框架是一个模块
    1.框架中定义好了一些功能。这些功能是可用的。
    2.可以加入项目中自己的功能, 这些功能可以利用框架中写好的功能。

    框架是一个软件,半成品的软件,定义好了一些基础功能, 需要加入你的功能就是完整的。
    基础功能是可重复使用的,可升级的。

    框架特点:

    1. 框架一般不是全能的, 不能做所有事情
    2. 框架是针对某一个领域有效。 特长在某一个方面,比如mybatis做数据库操作强,但是他不能做其它的。
    3. 框架是一个软件

    mybatis框架
    一个框架,早期叫做ibatis, 代码在github。
    mybatis是 MyBatis SQL Mapper Framework for Java (sql映射框架)
    1)sql mapper
    2) Data Access Objects(DAOs) : 数据访问 , 对数据库执行增删改查。

    mybatis提供了哪些功能:

  2. 提供了创建Connection ,Statement, ResultSet的能力 ,不用开发人员创建这些对象了
  3. 提供了执行sql语句的能力, 不用你执行sql
  4. 提供了循环sql, 把sql的结果转为java对象, List集合的能力
    4.提供了关闭资源的能力,不用你关闭Connection, Statement, ResultSet

    开发人员做的是: 提供sql语句
    最后是: 开发人员提供sql语句--mybatis处理sql---开发人员得到List集合或java对象(表中的数据)

    总结:
    mybatis是一个sql映射框架,提供的数据库的操作能力。增强的JDBC,
    使用mybatis让开发人员集中精神写sql就可以了,不必关心Connection,Statement,ResultSet
    的创建,销毁,sql的执行。

    第二章:
    1 主要类的介绍
    1) Resources: mybatis中的一个类, 负责读取主配置文件
    InputStream in = Resources.getResourceAsStream("mybatis.xml");

    2)SqlSessionFactoryBuilder : 创建SqlSessionFactory对象,
    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    //创建SqlSessionFactory对象
    SqlSessionFactory factory = builder.build(in);

    3)SqlSessionFactory : 重量级对象, 程序创建一个对象耗时比较长,使用资源比较多。
    在整个项目中,有一个就够用了。

    SqlSessionFactory:接口 , 接口实现类: DefaultSqlSessionFactory
    SqlSessionFactory作用: 获取SqlSession对象。SqlSession sqlSession = factory.openSession();

    openSession()方法说明:

    1. openSession() :无参数的, 获取是非自动提交事务的SqlSession对象
      1. openSession(boolean): openSession(true) 获取自动提交事务的SqlSession.
        openSession(false) 非自动提交事务的SqlSession对象

    4)SqlSession:
    SqlSession接口 :定义了操作数据的方法 例如 selectOne() ,selectList() ,insert(),update(), delete(), commit(), rollback()
    SqlSession接口的实现类DefaultSqlSession。

    使用要求: SqlSession对象不是线程安全的,需要在方法内部使用, 在执行sql语句之前,使用openSession()获取SqlSession对象。
    在执行完sql语句后,需要关闭它,执行SqlSession.close(). 这样能保证他的使用是线程安全的。

第三章:

  1. 动态代理: 使用SqlSession.getMapper(dao接口.class) 获取这个dao接口的对象
  2. 传入参数: 从java代码中把数据传入到mapper文件的sql语句中。
    1)parameterType : 写在mapper文件中的 一个属性。 表示dao接口中方法的参数的数据类型。
    例如StudentDao接口
    public Student selectStudentById(Integer id)

    2) 一个简单类型的参数:
    简单类型: mybatis把java的基本数据类型和String都叫简单类型。
    在mapper文件获取简单类型的一个参数的值,使用 #{任意字符}

    接口:public Student selectStudentById(Integer id)
    mapper:select id,name, email,age from student where id=#{studentId}

    3) 多个参数,使用@Param命名参数

    4) 多个参数,使用java对象

    vo: value object , 放一些存储数据的类。比如说 提交请求参数, name ,age
    现在想把name ,age 传给一个service 类。

    vo: view object , 从servlet把数据返回给浏览器使用的类,表示显示结果的类。

    pojo: 普通的有set, get方法的java类。 普通的java对象

      Servlet --- StudentService( addStudent( MyParam  param)  )

    entity(domain域): 实体类, 和数据库中的表对应的类,

    5) # 和 $

    1. mybatis的输出结果
      mybatis执行了sql语句,得到java对象。

      1)resultType结果类型, 指sql语句执行完毕后, 数据转为的java对象, java类型是任意的。
      resultType结果类型的它值 1. 类型的全限定名称 2. 类型的别名, 例如 java.lang.Integer别名是int

    2) 定义自定义类型的别名
    1)在mybatis主配置文件中定义,使定义别名
    2)可以在resultType中使用自定义别名

    3)resultMap:结果映射, 指定列名和java对象的属性对应关系。
    1)你自定义列值赋值给哪个属性
    2)当你的列名和属性名不一样时,一定使用resultMap

     resultMap和resultType不要一起用,二选一

第四章动态sql
动态sql: sql的内容是变化的,可以根据条件获取到不同的sql语句。
主要是where部分发生变化。

动态sql的实现,使用的是mybatis提供的标签, ,,

1)是判断条件的,
语法
部分sql语句

2) 用来包含 多个的, 当多个if有一个成立的, 会自动增加一个where关键字,
并去掉 if中多余的 and ,or等。

3) 循环java中的数组,list集合的。 主要用在sql的in语句中。
学生id是 1001,1002,1003的三个学生

 select * from student where id in (1001,1002,1003)

 public List selectFor(List idlist)

 List list = new ...
 list.add(1001);
 list.add(1002);
 list.add(1003);

 dao.selectFor(list)

collection:表示接口中的方法参数的类型, 如果是数组使用array , 如果是list集合使用list
 item:自定义的,表示数组和集合成员的变量
 open:循环开始是的字符
 close:循环结束时的字符
separator:集合成员之间的分隔符

4)sql代码片段, 就是复用一些语法
步骤
1.先定义 sql语句, 表名,字段等
2.再使用,

第五章:

  1. 数据库的属性配置文件: 把数据库连接信息放到一个单独的文件中。 和mybatis主配置文件分开。
    目的是便于修改,保存,处理多个数据库的信息。

    1)在resources目录中定义一个属性配置文件, xxxx.properties ,例如 jdbc.properties
    在属性配置文件中, 定义数据,格式是 key=value
    key: 一般使用 . 做多级目录的。
    例如 jdbc.mysql.driver , jdbc.driver, mydriver
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql//.....
    jdbc.username=root
    jdbc.password=123456

    2)在mybatis的主配置文件,使用 指定文件的位置
    在需要使用值的地方, ${key}

    2.mapper文件,使用package指定路径

第六章:PageHelper

PageHelper做数据分页的。

下面截取部分内容:

已有 0 用户参与0
0 : 0
+1已打分

讲师:王鹤。高级技术专家,曾就职于知名互联网上市公司,拥有丰富的大型项目开发经验。具有15年以上开发和技术培训经验,从事软件设计、研发。致力于前后端技术和架构领域,有丰富的理论、实践经验。熟悉C#,Java,JavaScript等开发语言,对Web框架、数据存储、架构设计等有深入的理解和实践。参与国新办,中移动等千万级大型项目的研发。对Java主流框架SpringBoot、MyBatis、JPA、Spring,Dubbo源码有较深的研究。精通互联网Java主流技术。热衷于研究互联网的各种新技术,在分布式,微服务方面有自己独到的见解,主张。关注java,go,SpringCloud,区块链,分布式事务等新技术。并将新技术,新概念,新思想引入到课堂中。有非常好的亲和力。乐于和学生分享,擅长把复杂的知识点讲的简单,透彻,让学生既懂得理论,又能实际使用。对重点知识深入浅出,结合实际,娓娓道来。

第一章

1. 三层架构
2. 框架

mybatis框架

1)sql mapper :sql映射

2) Data Access Objects(DAOs)

mybatis提供了哪些功能:

1. 提供了创建Connection ,Statement, ResultSet的能力 ,不用开发人员创建这些对象了
2. 提供了执行sql语句的能力, 不用你执行sql
3. 提供了循环sql, 把sql的结果转为java对象, List集合的能力
4. 提供了关闭资源的能力,不用你关闭Connection, Statement, ResultSet

第二章:
1 主要类的介绍

1) Resources

2)SqlSessionFactoryBuilder

3)SqlSessionFactory

4)SqlSession

第三章:

1. 动态代理
2. 传入参数

1)parameterType

2)一个简单类型的参数

3)多个参数,使用@Param命名参数

4)多个参数,使用java对象

5)# 和 $

3. mybatis的输出结果

1)resultType结果类型

2)定义自定义类型的别名

3)resultMap

第四章动态sql

1)是判断条件的

2) 用来包含 多个的

3) 循环java中的数组,list集合的。

4)sql代码片段, 就是复用一些语法

第五章:

1. 数据库的属性配置文件

1)在resources目录中定义一个属性配置文件, xxxx.properties

2)在mybatis的主配置文件,使用 指定文件的位置

2.mapper文件,使用package指定路径

第六章:PageHelper

  • 动力节点MyBatis教程实战精讲(适用于SSM框架初学者课程循序渐进,深入浅出) 0元

发表评论

程序咖XR实验室
相关课程
电子邮箱
  • 程序咖巴士
联系我们
  • 扫一扫,联系我们