MyBatis入门03 解决字段名与实体类属性名不相同的冲突
来源:互联网 发布:php sleep 函数执行 编辑:程序博客网 时间:2024/05/05 07:41
1、准备表和数据:
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);
2、定义实体类:
public class Order { private int id; private String orderNo; private float price;}
3、实现getOrderById(id)的查询:
方式一: 通过在sql语句中定义别名<select id="selectOrder" parameterType="int" resultType="_Order"> select order_id id, order_no orderNo,order_price price from orders where order_id=#{id}</select>方式二: 通过<resultMap><select id="selectOrderResultMap" parameterType="int" resultMap="orderResultMap"> select * from orders where order_id=#{id}</select><resultMap type="_Order" id="orderResultMap"> <id property="id" column="order_id"/> <result property="orderNo" column="order_no"/><result property="price" column="order_price"/></resultMap>
4、定义映射文件
<?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="com.atguigu.day03_mybaits.test4.orderMapper"> <!-- 根据id查询orders表得到一个order对象 --> <select id="getOrder" parameterType="int" resultType="Order"> SELECT order_id id, order_no orderNo, order_price price FROM orders WHERE order_id=#{id} </select> <select id="getOrder2" parameterType="int" resultMap="getOrder2Map"> SELECT * FROM orders WHERE order_id=#{id} </select> <!-- resultMap : 封装一些映射关系 id : 专门针对主键 result : 针对一般字段 --> <resultMap type="Order" id="getOrder2Map"> <id property="id" column="order_id"/> <result property="orderNo" column="order_no"/> <result property="price" column="order_price"/> </resultMap></mapper>
5、编写测试代码:
package com.atguigu.day03_mybaits.test4;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import com.atguigu.day03_mybaits.bean.Order;import com.atguigu.day03_mybaits.util.MybatisUtils;/* * 测试: 解决字段名与实体类属性名不相同的冲突 */public class Test4 { public static void main(String[] args) { SqlSessionFactory factory = MybatisUtils.getFactory(); SqlSession session = factory.openSession(); String statement = "com.atguigu.day03_mybaits.test4.orderMapper.getOrder"; statement = "com.atguigu.day03_mybaits.test4.orderMapper.getOrder2"; Order order = session.selectOne(statement , 2); System.out.println(order); }}
0 0
- MyBatis入门03 解决字段名与实体类属性名不相同的冲突
- MyBatis入门学习教程 解决字段名与实体类属性名不相同的冲突
- mybatis-解决字段名与实体类属性名不相同的冲突
- MyBatis——解决字段名与实体类属性名不相同的冲突
- MyBatis中解决字段名与实体类属性名不相同的冲突
- MyBatis解决字段名与实体类属性名不相同的冲突
- mybatis解决字段名与实体类属性名不相同的冲突
- Mybatis-解决字段名与实体类属性名不相同的冲突
- MyBatis 解决字段名与实体类属性名不相同的冲突
- MyBatis (4)——解决字段名与实体类属性名不相同的冲突
- mybatis解决字段名与实体类属性名不相同的冲突
- 【MyBatis】——解决字段名与实体类属性名不相同的冲突
- MyBatis学习之解决字段名与实体类属性名不相同的冲突
- mybatis学习笔记(三) --- 解决字段名与实体类属性名不相同的冲突
- 四、Mybatis解决字段名与实体类属性名不相同的冲突
- MyBatis解决字段名与实体类属性名不相同的冲突
- Mybatis 解决字段名与实体类属性名不相同的冲突
- MyBatis学习——解决字段名与实体类属性名不相同的冲突
- pymatlib常用函数之figure,plot,subplot,show
- GTK+浅谈之十三网络编程
- zeptojs中获取select选中的option的值
- php对象、数组间的转换
- htmlparser使用指南
- MyBatis入门03 解决字段名与实体类属性名不相同的冲突
- Android菜鸟的成长笔记——Spinner 省市县三级地址选择
- java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be c
- cocos2dx 常见的49中动作详解
- 网络请求
- 感悟(6)
- 网上Post与Get请求数据步骤
- 从HTML中攫取你所需的信息
- Spring下classpath与classpath*的区别