3mybatis

简介: 3mybatis
1、mybatis中的连接池以及事务控制      原理部分了解,应用部分会用
  mybatis中连接池使用及分析
  mybatis事务控制的分析
2、mybatis基于XML配置的动态SQL语句使用    会用即可
  mappers配置文件中的几个标签:
    <if>
    <where>
    <foreach>
    <sql>
3、mybatis中的多表操作       掌握应用
  一对多
  一对一(?)
  多对多
--------------------------------------------------------------------------------
1、连接池:
  我们在实际开发中都会使用连接池。
  因为它可以减少我们获取连接所消耗的时间。
2、mybatis中的连接池
  mybatis连接池提供了3种方式的配置:
    配置的位置:
      主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。
    type属性的取值:
      POOLED   采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现
      UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。
      JNDI   采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到DataSource是不一样。
         注意:如果不是web或者maven的war工程,是不能使用的。
         我们课程中使用的是tomcat服务器,采用连接池就是dbcp连接池。
3、mybatis中的事务
  什么是事务
  事务的四大特性ACID
  不考虑隔离性会产生的3个问题
  解决办法:四种隔离级别
  它是通过sqlsession对象的commit方法和rollback方法实现事务的提交和回滚
4、mybatis中的多表查询
  表之间的关系有几种:
    一对多
    多对一
    一对一
    多对多
  举例:
    用户和订单就是一对多
    订单和用户就是多对一
      一个用户可以下多个订单
      多个订单属于同一个用户
    人和身份证号就是一对一
      一个人只能有一个身份证号
      一个身份证号只能属于一个人
    老师和学生之间就是多对多
      一个学生可以被多个老师教过
      一个老师可以交多个学生
  特例:
    如果拿出每一个订单,他都只能属于一个用户。
    所以Mybatis就把多对一看成了一对一。
  mybatis中的多表查询:
    示例:用户和账户
      一个用户可以有多个账户
      一个账户只能属于一个用户(多个账户也可以属于同一个用户)
    步骤:
      1、建立两张表:用户表,账户表
        让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加
      2、建立两个实体类:用户实体类和账户实体类
        让用户和账户的实体类能体现出来一对多的关系
      3、建立两个配置文件
        用户的配置文件
        账户的配置文件
      4、实现配置:
        当我们查询用户时,可以同时得到用户下所包含的账户信息
        当我们查询账户时,可以同时得到账户的所属用户信息
    示例:用户和角色
      一个用户可以有多个角色
      一个角色可以赋予多个用户
    步骤:
      1、建立两张表:用户表,角色表
        让用户表和角色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键。
      2、建立两个实体类:用户实体类和角色实体类
        让用户和角色的实体类能体现出来多对多的关系
        各自包含对方一个集合引用
      3、建立两个配置文件
        用户的配置文件
        角色的配置文件
      4、实现配置:
        当我们查询用户时,可以同时得到用户所包含的角色信息
        当我们查询角色时,可以同时得到角色的所赋予的用户信息
相关文章
|
3月前
|
SQL Java 数据库连接
Mybatis01
Mybatis01
33 0
|
29天前
|
SQL 缓存 Java
Mybatis
【10月更文挑战第5天】Mybatis
21 0
|
SQL Java 数据库连接
Mybatis之discriminator(鉴别器)详解
前言 最近干了一个工作是使用discriminator去写一个新的API,那么写这个新的API原因是什么呢?原因是这样的:我们的项目使用Mybatis,我们项目中有一个实体类叫做User,在User中还含有很多别的实体类,例如Role,Permission,Address等(有经验的肯定知道这种嵌套实体类的情况,使用和)。
4136 0
|
4月前
|
SQL Java 关系型数据库
MyBatis-Plus详解(4)
MyBatis-Plus详解(4)
37 0
|
4月前
|
Java 关系型数据库 MySQL
MyBatis-Plus详解(1)
MyBatis-Plus详解(1)
50 0
|
6月前
|
SQL 缓存 Java
浅谈mybatis
浅谈mybatis
27 1
|
6月前
|
SQL 缓存 Java
mybatis使用总结
mybatis使用总结
|
SQL Java 数据库连接
|
SQL XML Java
什么是 Mybatis?
什么是 Mybatis?
69 0