`

Mybatis总结

 
阅读更多
1.映射配置文件中#与$的区别,总结如下:
(1) #是把传入的数据当作字符串,如# number,#传入的是20(数字),则生成的sql语句是这样,order by "20",这当然会报错;
(2) $传入的数据直接生成在sql里,如# number ,#传入的是20,则sql语句生成是这样,orderby 20,这就对了;
(3) #方式能够很大程度防止sql注入;
(4) $方式无法防止sql注入;
(5) $方式一般用于传入数据库对象.例如传入表名;
  所以,一般能用#的就别用$。

2. <![CDATA[ ]]> 标记避免Sql中与xml规范相冲突的字符对xml映射文件的合法性造成影响
   <![CDATA[price_from >= #{price}]]>
3.Sql标签:
<sql id=”userColumns”> 
     id,username,password 
</sql> 

这个元素可以被用来定义可重用的SQL代码段,可以包含在其他语句中。
举例:
这个SQL片段可以被包含在其他语句中,例如:
<select id=”selectUsers” parameterType=”int” resultType=”hashmap”> 
select <include refid=”userColumns”/> 
from some_table 
where id = #{id} 
</select> 

4.selectKey的使用
在insert语句中在Oracle经常使用序列、在MySQL中使用函数来自动生成插入表的主键,而且需要方法能返回这个生成主键。
使用myBatis的selectKey标签可以实现这个效果。
keyProperty :selectKey 语句生成结果需要设置的属性。即返回给对象的值
resultType : 生成结果类型,MyBatis 允许使用基本的数据类型,包括String 、int类型。
order 1:BEFORE,会先选择主键,然后设置keyProperty,再执行insert语句;
      2:AFTER,就先运行insert 语句再运行selectKey 语句。   取值:BEFORE,AFTER
statementType:MyBatis 支持STATEMENT,PREPARED和CALLABLE 的语句形式, 对应Statement ,PreparedStatement 和CallableStatement 响应。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    mybatis总结

    ### MyBatis总结 #### 一、MyBatis概述与特点 ##### 1. MyBatis支持SQL查询映射及动态映射标记 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。通过将接口定义与SQL语句分离,MyBatis...

    mybatis总结.md

    mybatis总结,可学习

    MYBatis总结.docx

    MyBatis是一个强大的Java持久层框架,专注于SQL查询、存储过程和高级映射。它将数据库操作与业务逻辑分离,避免了直接编写大量的JDBC代码,简化了开发工作。MyBatis通过XML或注解的方式将Java的POJOs(Plain Old ...

    MyBatis总结!!!!!

    MyBatis总结!!!!!

    【狂神说】mybatis学习总结笔记(全)PDF格式文档 MyBatis.pdf

    MyBatis学习总结笔记 MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始...

    Mybatis总结.xmind

    该文件时我对MyBatis的一些简单的总结,希望能对大家有用,有不合理的地方希望大家多多指正,感谢大家的支持

    spring和mybatis总结

    Spring 通过 SqlSessionFactoryBean 和 MyBatis 的配置文件来初始化 SqlSessionFactory,然后通过 DataSourceTransactionManager 进行事务管理。此外,Spring 还可以利用 AOP 实现事务的声明式管理,简化代码。 **...

    Mybatis总结.md

    学习Mybatsi基础,实现的步骤 ,0基础入门案列,其他也没有过多的了,这是入门的第一天做的笔记,有问题大家可以指出。

    mybatis的总结一

    ### MyBatis总结 #### JDBC回顾与MyBatis简介 **JDBC(Java Database Connectivity)** 是Java中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用Java语言...

    Mybatis的笔记pdf

    总结来说,Mybatis 是一款优秀的 Java 持久层框架,它的主要优点包括简单易学、灵活的 SQL 编写、支持 ORM 映射和动态 SQL。通过 Mybatis,开发者可以更专注于业务逻辑,而不是繁琐的数据库操作,从而提高开发效率和...

    MyBatis基本使用总结

    总结,MyBatis通过核心配置文件、映射文件和Mapper接口实现了数据库操作的便捷和灵活。其强大的动态SQL功能、丰富的参数映射和结果集映射,以及缓存机制,都为Java开发人员提供了高效、可控的数据库访问手段。在实际...

    Mybatis入门资源

    "Mybatis总结.pptx"可能是对整个Mybatis学习过程的全面回顾,包括所有上述知识点的综合,也可能包含实际项目中的一些最佳实践。 至于".txt"文件,如"学习(五)用到的表.txt"、"学习(五、六)用到的表.txt"、"快速...

    mybatis 资料 帮助文档

    "mybatis总结.txt" 可能是一份学习笔记或者关键点汇总,包含了一些重要的知识点,比如 MyBatis 的缓存机制、结果映射、参数映射、自定义插件、SQL执行器的选择等,这些都是提升开发效率和优化性能的关键点。...

    mybatis老师总结

    ### MyBatis 知识点总结 #### 一、MyBatis 概述 - **起源与发展**:MyBatis 最初是 Apache 的一个开源项目 iBatis,于2010年由 Apache Software Foundation 迁移到了 Google Code,并更名为 MyBatis。2013年11月,...

    MyBatis SpringMVC 整合总结

    MyBatis和SpringMVC是两个非常流行的Java开发框架,它们在企业级应用开发中有着广泛的应用。MyBatis是一个轻量级的持久层框架,它解决了Java与数据库交互时的繁琐工作,而SpringMVC则是一个强大的MVC(Model-View-...

    mybatis学习总结:mybatis和spring, spring boot的集成

    这篇“mybatis学习总结”着重探讨了MyBatis如何与Spring和Spring Boot进行集成,这对于构建高效、可维护的企业级应用至关重要。 首先,MyBatis与Spring的集成主要通过Spring的IoC(Inversion of Control)容器来...

    Mybatis.zip思维导图纯手画

    Mybatis总结,思维导图,包含多种文件格式 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 ...

Global site tag (gtag.js) - Google Analytics