2021-05-03 11:00  阅读(146)
文章分类:MyBatis 教程 文章标签:MyBatisMyBatis 教程
©  原文作者:一点教程 原文地址:http://www.yiidian.com/springmvc/

MyBatis的Dao映射配置中有个叫parameterType的属性,该属性代表输入参数类型,对应Dao接口方法的参数类型。MyBatis的输入参数类型包含以下几种:

  1. 基本类型
  2. Pojo类型
  3. 包装Pojo类型

1 基本类型

1.1 Dao方法

    
    //输入映射
    public void testParameterType(String name);

1.2 Dao映射配置

    
    <insert id="testParameterType" parameterType="string">
    	INSERT INTO t_customer(NAME) VALUES(#{name})
    </insert>	

1.3 测试类

    
    /**
     * 输入映射-基本类型
     * 一点教程网 - www.yiidian.com
     */
    @Test
    public void test1(){
    	SqlSession sqlSession = MyBatisUtils.getSession();
    	//getMapper(): 返回指定接口的动态代理的实现类对象
    	CustomerDao dao = sqlSession.getMapper(CustomerDao.class);
    	dao.testParameterType("张三");
    	sqlSession.commit();
    	sqlSession.close();
    }

2 Pojo类型

2.1 Dao方法

    
    public void testParameterType(Customer c);

2.2 Dao映射配置

    
    <insert id="testParameterType" parameterType="com.yiidian.domain.Customer">
    	INSERT INTO t_customer(NAME,gender,telephone) VALUES(#{name},#{gender},#{telephone})
    </insert>

2.3 测试类

    
    /**
     * 输入映射-Pojo类型
     * 一点教程网 - www.yiidian.com
     */
    @Test
    public void test1(){
    	SqlSession sqlSession = MyBatisUtils.getSession();
    	//getMapper(): 返回指定接口的动态代理的实现类对象
    	CustomerDao dao = sqlSession.getMapper(CustomerDao.class);
    	Customer c = new Customer();
    	c.setName("张三2222");
    	c.setGender("男");
    	c.setTelephone("13211112222");
    	dao.testParameterType(c);
    	sqlSession.commit();
    	sqlSession.close();
    }

3 包装Pojo类型

3.1 Dao方法

    
    public void testParameterType(CustomerVo c);

3.2 Dao映射配置

    
    <insert id="testParameterType" parameterType="com.yiidian.domain.CustomerVo">
    	INSERT INTO t_customer(NAME,gender,telephone) VALUES(#{customer.name},#{customer.gender},#{customer.telephone})
    </insert>

3.3 包装Pojo类型

    
    /**
    * 包装Pojo类型
    * 一点教程网 - www.yiidian.com
    */
    public class CustomerVo {
    	private Customer customer;
    	public Customer getCustomer() {
    		return customer;
    	}
    
    	public void setCustomer(Customer customer) {
    		this.customer = customer;
    	}
    	
    }

3.3 测试类

    
    /**
    * 输入参数 - 包装Pojo类型
    * 一点教程网 - www.yiidian.com
    */
    @Test
    public void test1(){
    	SqlSession sqlSession = MyBatisUtils.getSession();
    	//getMapper(): 返回指定接口的动态代理的实现类对象
    	CustomerDao dao = sqlSession.getMapper(CustomerDao.class);
    
    	CustomerVo vo = new CustomerVo();
    	Customer c = new Customer();
    	c.setName("张三");
    	c.setGender("男");
    	c.setTelephone("13211112222");
    	vo.setCustomer(c);
    	
    	dao.testParameterType(vo);
    	
    	sqlSession.commit();
    	sqlSession.close();
    }
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> MyBatis 输入参数
上一篇
MyBatis Dao的两种写法
下一篇
MyBatis 输出参数