77范文网 - 专业文章范例文档资料分享平台

mybatis+spring+springmvc(传智播客)笔记(6)

来源:网络收集 时间:2019-04-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

javaEE框架课程

3.3 settings(配置)

mybatis全局配置参数,全局参数将会影响mybatis的运行行为。

详细参见“学习资料/mybatis-settings.xlsx”文件

javaEE框架课程

3.4 typeAliases(类型别名) 3.4.1 mybatis支持别名:

别名 _byte _long _short _int _integer _double _float _boolean string byte long short int integer double float boolean date decimal bigdecimal

映射的类型 byte long short int int double float boolean String Byte Long Short Integer Integer Double Float Boolean Date

BigDecimal BigDecimal

3.4.2 自定义别名:

在SqlMapConfig.xml中配置:

javaEE框架课程

3.5 typeHandlers(类型处理器)

类型处理器用于java类型和jdbc类型映射,如下:

select * from userwhere id = #{id}

mybatis自带的类型处理器基本上满足日常需求,不需要单独定义。

mybatis支持类型处理器:

类型处理器

BooleanTypeHandler ByteTypeHandler ShortTypeHandler IntegerTypeHandler LongTypeHandler FloatTypeHandler DoubleTypeHandler BigDecimalTypeHandler StringTypeHandler ClobTypeHandler NStringTypeHandler NClobTypeHandler ByteArrayTypeHandler BlobTypeHandler DateTypeHandler DateOnlyTypeHandler TimeOnlyTypeHandler SqlTimestampTypeHandler SqlDateTypeHandler SqlTimeTypeHandler ObjectTypeHandler EnumTypeHandler

Java类型

Boolean,boolean Byte,byte Short,short Integer,int Long,long Float,float Double,double BigDecimal String String String String byte[] byte[]

Date(java.util) Date(java.util) Date(java.util)

Timestamp(java.sql) Date(java.sql) Time(java.sql) 任意

Enumeration类型

JDBC类型

任何兼容的布尔值

任何兼容的数字或字节类型 任何兼容的数字或短整型 任何兼容的数字和整型 任何兼容的数字或长整型 任何兼容的数字或单精度浮点型

任何兼容的数字或双精度浮点型

任何兼容的数字或十进制小数类型

CHAR和VARCHAR类型 CLOB和LONGVARCHAR类型

NVARCHAR和NCHAR类型 NCLOB类型

任何兼容的字节流类型 BLOB和

LONGVARBINARY类型 TIMESTAMP类型 DATE类型 TIME类型

TIMESTAMP类型 DATE类型 TIME类型

其他或未指定类型

VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。

javaEE框架课程

3.6 mappers(映射器)

Mapper配置的几种方法:

3.6.1

使用相对于类路径的资源

如:

3.6.2

使用完全限定路径

如:

3.6.3

使用mapper接口类路径

如:

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

3.6.4

注册指定包下的所有mapper接口

如:

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

4 Mapper.xml映射文件

Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。

javaEE框架课程

4.1 parameterType(输入类型)

4.1.1 #{}与${}

#{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?。

select * from userwhere id = #{id}

使用占位符#{}可以有效防止sql注入,在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。#{}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。

${}和#{}不同,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。使用${}不能防止sql注入,但是有时用${}会非常方便,如下的例子:

select * from userwhere username like '%${value}%'

如果本例子使用#{}则传入的字符串中必须有%号,而%是人为拼接在参数中,显然有点麻烦,如果采用${}在sql中拼接为%的方式则在调用mapper接口传递参数就方便很多。

//如果使用占位符号则必须人为在传参数中加%

List list = userMapper.selectUserByName(\管理员%\);

//如果使用${}原始符号则不用人为在参数中加%

Listlist = userMapper.selectUserByName(\管理员\);

再比如order by排序,如果将列名通过参数传入sql,根据传的列名进行排序,应该写为: ORDER BY ${columnName}

如果使用#{}将无法实现此功能。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库mybatis+spring+springmvc(传智播客)笔记(6)在线全文阅读。

mybatis+spring+springmvc(传智播客)笔记(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/567534.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: