项目总结之MyBatis Mapper传参

Mapper类本质是使用了动态代理
什么是Mybatis?

官话来说: MyBatis 是支持定制化 SQL、
存储过程以及高级映射的优秀的持久层框架。
MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。
MyBatis 使用简单的 XML 或注解来配置和映射基本体,
将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Mybatis的原理

Mybatis实现了DAO接口与xml映射文件的绑定,
自动为我们生成接口的具体实现,使用起来变得更加省事和方便。 

Mybatis执行流程
在这里插入图片描述
执行原理
MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个SqlSession。SqlSession包含了执行sql所需要的所有方法,可以通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession。

设置别名

它的作用是让Mapper.xml中的参数找到对应类,如下面parameterType=“TestTb”>,如果没有配置别名,则要改为parameterType=“cn.itcast.core.bean.TestTb”>,

驼峰命名

<settings>
    <!-- 开启驼峰,开启后,只要数据库字段和对象属性名字母相同,无论中间加多少下划线都可以识别 (在返回的结果集中)-->
    <setting name="mapUnderscoreToCamelCase" value="true" />
</settings>

mybatis 传递参数的三种方式

  1. 多个参数的传递方式

    形式如:

    GoodMapper.java:

    public Good selectGood(String id, String name);

    GoodMapper.xml :

        select * from good where id = #{0} and name=#{1}
    

注: #{0} 代表的是第一个参数,#{1} 代表的是第二个参数,以此类推

  1. 固定参数的传递方式

    形式如:

    GoodMapper.java:

    public Good selectGood(@param("id")String id,@param("name")String name);
    

    GoodMapper.xml :

       select * from good where id = #{id} and name=#{name}
    
    3.对象封装n个属性的传参

猜你喜欢

转载自blog.csdn.net/qq_38061534/article/details/84575908