Mybatis属性和数据库表字段不一致处理

     mybatis中实体属性和表字段不一致处理方式

     方式主要有两种:1.设置别名; 2.将结果映射成单独的resultMap

    

     1.开发环境

     jdk1.7 eclipse4.5 mysql5.7 mybatis3.3

     2.项目结构图

     Mybatis属性和数据库表字段不一致处理_第1张图片

     3.pom文件


	4.0.0

	com.neutron
	flowers
	0.0.1-SNAPSHOT
	jar

	flowers
	http://maven.apache.org

	
		UTF-8
	

	
		
		
			org.mybatis
			mybatis
			3.3.1
		
		
			org.mybatis
			mybatis-spring
			1.2.2
		
		
			mysql
			mysql-connector-java
			5.1.38
		
		
			junit
			junit
			4.8.1
			test
		

		
		
			org.slf4j
			slf4j-log4j12
			1.7.2
		
	

	
		compile
	

     4 .数据库配置文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
name=root
password=root
     5 .Mybatis配置文件



	
	
	
	
	
		
		
	

	
	
		
			
			
				
				
				
				
			
		
	
	
	
		
	
	


     6.建表文件    

CREATE TABLE orders(
	order_id INT PRIMARY KEY AUTO_INCREMENT,
	order_name VARCHAR(20)
);
INSERT INTO orders(order_name) VALUES('aaaa');
INSERT INTO orders(order_name) VALUES('bbbb');
INSERT INTO orders(order_name) VALUES('cccc');

     7.实体类,请注意实体类属性和数据库表中字段是不一致的     
package com.neutron.flowers.entity;
/**
 * 测试实体类和数据库表字段不一致处理情况
 * @author zhanght
 *
 */
public class Order {
	private int id;
	private String name;
	
	public Order() {
		super();
	}

	public Order(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "Order [id=" + id + ", name=" + name + "]";
	}
	
}
    

      8.mapper.xml文件     


 

 
	
	
	
	
	
		
		
	
    

     9.测试文件    

package com.neutron.flowers;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.neutron.flowers.entity.Order;
import com.neutron.flowers.entity.User;
import com.neutron.flowers.utils.MybatisUtils;

import junit.framework.Assert;
import junit.framework.TestCase;

public class OrderTest extends TestCase {
	/**
	 * 别名处理方式1
	 */
	@Test
	public void testAliasQuery()
	{
		SqlSession session = MybatisUtils.openSession(true);
		String statement = "com.neutron.flowers.mapper.orderMapper.query";
		Order order = session.selectOne(statement, 1);
		System.out.println(order);
	}
	
	/**
	 * 别名处理方式2
	 */
	@Test
	public void testAliasQuery2Map()
	{
		SqlSession session = MybatisUtils.openSession(true);
		String statement = "com.neutron.flowers.mapper.orderMapper.queryforMap";
		Order order = session.selectOne(statement, 1);
		System.out.println(order);
	}
}

 

你可能感兴趣的:(mybatis)