Mybatis学习笔记-解决字段名与实体类属性名不相同的冲突
来源:互联网 发布:java 教程pdf 编辑:程序博客网 时间:2024/05/18 23:13
实际的开发过程中,数据库表字段不一定与实体类中的属性一一对应,这样的话在使用Mybatis开发过程中就必须解决字段名与属性名不一致的冲突,否则Mybatis框架在底层进行数据处理时会出现异常。
项目结构
项目源码
创建测试表和数据
CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order_price FLOAT);INSERT INTO orders(order_no, order_price) VALUES('aaaa', 23);INSERT INTO orders(order_no, order_price) VALUES('bbbb', 33);INSERT INTO orders(order_no, order_price) VALUES('cccc', 22);
定义实体类
package com.taowd.mybatis.entry;public class Orders { private String id; private String no; private String price; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; }}
解决冲突的方案1:通过在sql语句中定义别名
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="mapper.ordersMapper"> <!-- 根据id查询得到一个Orders对象 --> <select id="selectOrder" parameterType="int" resultType="_Orders"> select order_id id, order_no no,order_price price from orders where order_id=#{id} </select></mapper>
解决冲突的方案2:使用resultMap进行映射
<!-- 解决方案2:使用resultMap进行映射 --> <select id="selectOrderResultMap" parameterType="int" resultMap="orderResultMap"> select * from orders where order_id=#{id} </select> <resultMap type="_Orders" id="orderResultMap"> <id property="id" column="order_id" /> <result property="no" column="order_no" /> <result property="price" column="order_price" /> </resultMap>
测试结果
阅读全文
0 0
- mybatis学习笔记(三) --- 解决字段名与实体类属性名不相同的冲突
- Mybatis学习笔记-解决字段名与实体类属性名不相同的冲突
- MyBatis入门学习教程 解决字段名与实体类属性名不相同的冲突
- MyBatis学习之解决字段名与实体类属性名不相同的冲突
- MyBatis学习——解决字段名与实体类属性名不相同的冲突
- MyBatis学习笔记四——解决字段名与实体类属性名不相同的冲突
- 【Mybatis学习总结三】Mybatis种解决字段名与实体类属性名不相同的冲突
- mybatis-解决字段名与实体类属性名不相同的冲突
- MyBatis——解决字段名与实体类属性名不相同的冲突
- MyBatis中解决字段名与实体类属性名不相同的冲突
- MyBatis解决字段名与实体类属性名不相同的冲突
- mybatis解决字段名与实体类属性名不相同的冲突
- MyBatis入门03 解决字段名与实体类属性名不相同的冲突
- Mybatis-解决字段名与实体类属性名不相同的冲突
- MyBatis 解决字段名与实体类属性名不相同的冲突
- MyBatis (4)——解决字段名与实体类属性名不相同的冲突
- mybatis解决字段名与实体类属性名不相同的冲突
- 【MyBatis】——解决字段名与实体类属性名不相同的冲突
- imageloader
- 堆的插入删除实现和优化
- 2017年10月编程语言排行榜:Java持续下滑仍稳居第一,Swift正过时?
- 线性表练习(单链表)
- 程序员专属菜单
- Mybatis学习笔记-解决字段名与实体类属性名不相同的冲突
- 程序员,你的强迫症是几级?请对号入座!
- 京东全球首个全流程无人仓曝光:看完给跪了!
- 互联网公司Android面试题汇总
- 从 0 到 300,Instagram 创始人 CTO 分享工程团队成长的经验
- thinkphp小结
- 在vs2012中安装离线msdn
- 彻底修改Eclipse中的项目名称
- 查看linux系统是32位还是64位