mybatis-02

Posted 随笔小记lover

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-02相关的知识,希望对你有一定的参考价值。

mybatis



mybatis-02



    mybatis

          持久化框架

It was an accident to know you  

mybatis-02


mybatis-02


ssm框架学习

        mybatis

目录

一、mapper的动态代理原则

二、占位符#{},${}。

三、parameterType和resultType

四、输出包装类型resultMap

五、动态sql语句

六、提取sql片段

七、一对一查询

八、一对多查询

一、mapper的动态代理原则

接口--四个原则

1. 方法名==user。Xml中的id名

2. 返回值类型于mapper.xml文件中返回类型一致

3. 方法的入参类型于mapper.xml中入参的类型要一致

4. 命名空间等于接口的完整类名--绑定接口

SqlMapConfig.xml

Properties:驱动读取--jdbc.properties

Typealiases:类型别名--解决不用写很长类名的问题-----包和子包下所有的 大小写均可

Mapper:映射 子.xml

二、占位符#{},${}

    

#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。

 

${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。


三、parameterType和resultType

    parameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。

    resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。如果有多条数据,则分别进行映射,并把对象放到容器List中


四、输出包装类型

当字段与数据库不对应的时候使用resultmap


mybatis-02

五、动态sql语句

If:判断是否为空 防止对造成and的影响

Where去掉第一个前and

Foreach:使用多个id查询用户时使用

    foreach元素的属性主要有 item,index,collection,open,separator,close。
    item表示集合中每一个元素进行迭代时的别名,
    index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,
    open表示该语句以什么开始,
    separator表示在每次进行迭代之间以什么符号作为分隔 符,
    close表示以什么结束。

在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:

    1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
    2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
    3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可


mybatis-02

六、提取sql片段

提取sql片段

<sql></sql>

取得时候用<include>


七、一对一查询

1.使用resultType

先新建一个类继承父类再添加需要关联查询后的字段

在mapper中写入sql语句

mybatis-02
mybatis-02

2.使用resultMap

在类中写入另一个表的类

使用resultMap

mybatis-02
mybatis-02

八、一对多查询 

    在类中写入一对多的类

编写mapper,书写resultMap

mybatis-02



先成者未必有成,后达者未必不达


mybatis-02


mybatis-02




何事秋风悲画扇

编辑:lover


以上是关于mybatis-02的主要内容,如果未能解决你的问题,请参考以下文章

学习mybatis02---配置mybatis-config.xml文件

mybatis-02

MyBatis-02-笔记

MyBatis 02

MyBatis—02—代替Dao层的mapper映射文件;MyBatis配置文件详解

Mybatis02 快速入门Part2 补完CRUD