MyBatis 输入参数
MyBatis的Dao映射配置中有个叫parameterType
的属性,该属性代表输入参数类型,对应Dao接口方法的参数类型。MyBatis的输入参数类型包含以下几种:
- 基本类型
- Pojo类型
- 包装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();
}
热门文章
优秀文章