配置信息的优化,类型转换器
1.
优化:
可以将配置信息单独放入db.properties中,然后再动态引入
db.properties:k=v
<configuration>
<properties resource="db.properties"/>
引入之后,使用${key}
2.
MyBatis全局参数
在<configuration>里面添加<settings>标签,里面写setting标签,key-value形式
3.别名
a. 设置单个别名
<!-- 设置别名 -->
<typeAliases>
<!-- 单个 -->
<typeAlias type="org.entity.user" alias="user">
</typeAliases>
b. 批量设置别名
<!-- 设置别名 -->
<typeAliases>
<!-- 批量,以下会自动为该包中所有类批量定义别名,别名就是类名 -->
<package name="org.entity"/>
</typeAliases>
除了自定义别名外,MyBatis还内置了一些常见类的别名
4.类型处理器(类型转换器)
1.MyBatis自带一些常见的类型处理器
int-number
2.自定义MyBatis类型处理器
Java--数据库(jdbc类型)
示例:
实体类Student:boolean stuSex true:男 false:女
表student: number stuSex 1:男 0:女
自定义类型转换器(boolean--number)步骤:
1.创建转换器:需要实现TypeHandle接口
通过阅读源码发现此接口有一个实现类BaseTypeHandler
因此要实现转换器有两种选择:
a. 实现接口TypeHandler接口 b.继承Base TypeHandler
2.配置 在conf.xml
需要注意的问题:设置Integer时需要写INTEGER,纯大写
<delete id="deleteUserByUsername" parameterType="String">
delete from user where usename=#{usename}
</delete>
<!-- 如果类中属性和表中字段可以合理识别(eg:String-varchar2),则可以使用resultType,否则使用resultMap -->
<!-- 如果类中属性名和表中字段名可以合理识别(eg:No->no),则可以使用resultType,否则使用resultMap -->
<select id="queryUserByUsenameWithConventer" resultMap="userResult" parameterType="String">
select * from user where usename = #{usename}
</select>
<resultMap type="user" id="userResult">
<!-- 分为主键,非主键 -->
<id property="usename" column="usename"/>
<result property="password" column="password"/>
<result property="type" column="type"/>
<result property="gender" column="gender"/>
<result property="phone" column="phone" javaType="boolean" jdbcType="INTEGER"/>
</resultMap>
resultMap可以实现的功能:类型转换,属性--字段的映射关系
配置信息的优化,类型转换器相关推荐
- SpringMVC表单请求参数的绑定,配置编码过滤器解决请求参数中文乱码问题,自定义类型转换器
文章目录 SpringMVC的参数绑定支持的数据类型 基本数据类型和字符串类型 JavaBean 包装类 Map类型 List类型 POST请求参数中文乱码的解决方法 自定义类型转换器(Date类 ...
- SpringMVC配置任何类型转换器 Converter(以时间类型为例)
SpringMVC配置任何类型转换器 Converter (以时间类型为例) 从页面传到后台的时间字符串转成日期格式封装到实体类 1. 定义时间DateConverter转换类实现 Converte ...
- spingMVC 引用实体类绑定,中文乱码过滤器,时间类型转换器 。案例配置步骤
1.通过maven ,创建 webApp骨架项目,完成java文件夹的项目结构,并为web项目配置好Tomcat服务器. 具体步骤参照:https://blog.csdn.net/qq84719666 ...
- Spring IoC容器初始化源码(1)—容器初始化入口以及setConfigLocations设置容器配置信息【一万字】
基于最新Spring 5.x,对于基于XML的Spring IoC容器初始化过程中的setConfigLocations设置容器配置信息方法的源码进行了详细分析,最后给出了比较详细的方法调用时序图 ...
- java 自定义 转换器_Java笔记之SpringMVC(七):自定义String到Date的类型转换器
0.说在前面 1.新建converter.jsp 转换器页面 日期: 提交 ${converteredDate } 2.新建ConverterController类 packagecom.spring ...
- 8.Struts2类型转换器
类型转换器 1.引入 在Struts2中,请求参数类型不仅可以是String,还可以是其它类型. 如,定义一个请求参数birthday为Date类型,给其赋值为1949-10-1, 则birthday ...
- Struts2下创建自定义类型转换器(表单中日期的处理)
在表单提交中需要有日期的输入,默认的Struts2处理机制可能不能满足需求,需要自定义一下类型转换器.如: String----->java.util.Date:输入 java.util.Dat ...
- jpa 返回数据转换_如何使用JPA类型转换器加密数据
jpa 返回数据转换 几天前,我读了Bear Giles关于2012年使用JPA监听器进行数据库加密的有趣文章.他讨论了对加密解决方案的要求,并提供了JPA监听器的代码示例. 他的主要要求是: 提供不 ...
- jpa 测试_使用外星人进行测试:如何使用Arquillian测试JPA类型转换器
jpa 测试 该帖子与+ Aslak Knutsen ( @aslakknutsen )一起撰写. JPA类型转换器为定义实体属性如何持久存储到数据库提供了一种简便的方法. 您可以使用它们来实现许多不 ...
最新文章
- 喜报!良品铺子签约神策数据
- hdu 5157(manacher+前缀和+树状数组)
- 【ArcGIS微课1000例】0011:ArcGIS空间查询(按位置选择Select by Location)完全案例详解
- height百分比失效
- MacOS中运行第一个PySide6实例
- c++判断奇偶_第十一届(今年)蓝桥杯省模拟赛 试题+源码 C/C++详解
- R 回归 虚拟变量na_互助问答第85期:虚拟变量和空间面板回归问题
- Linux内核RCU(Read Copy Update)锁简析-前传
- JDK1.8聚合操作
- win7桌面小工具 html5,Win7桌面小工具打不开怎么办
- 一张图读懂中国产业链的变化与机会
- matlab如何用二分法求函数零点,如何用二分法求函数的“零点”的近似值
- Chrome谷歌浏览器Flash Player被屏蔽如何解决
- js逆向-1 模拟登陆微信公众号平台
- 专为程序员编写的英语学习指南
- 支付宝生活号h5网页--蚂蚁认证
- 转:网页游戏都有哪些安全问题
- excel群发邮件 支持html,怎么给excel表格中的邮箱群发邮件
- 电子商务网站设计的艺术
- Pose for Everything: Towards Category-Agnostic Pose Estimation 阅读笔记
热门文章
- LeetCode 1488. 避免洪水泛滥(贪心+set二分查找)
- 程序员面试金典 - 面试题 17.26. 稀疏相似度(哈希map)
- LeetCode 226. 翻转二叉树(DFS BFS)
- 自定义计算器 android,自定义公式计算app下载
- matlab打开笔记本摄像头_基于MATLAB调用电脑摄像头获取视频和图像
- c++ qt qlistwidget清空_Qt编写控件属性设计器12-用户属性
- python去重复元素_Python实现去除列表中重复元素的方法总结【7种方法】
- Python 中,matplotlib绘图无法显示中文的问题
- ARM的UART实验
- Power BI连接MySQL 提示错误......未能加载文件或程序集......或它的某一个依赖项