mybatis入门使用2:传参数
来源:互联网 发布:海口网站快速优化排名 编辑:程序博客网 时间:2024/06/05 19:33
在使用mybatis时传入参数的3种方式:
1、 对象做参数,需要对象使用到的属性 get/set方法
int updateByPrimaryKey(Employee record);
<insert id="insert" parameterType="com.lls.model.Employee">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>
insert into t_employee (ID, EmployeeName, Position,
Salary, Tel, DepartmentID
)
values (#{id,jdbcType=INTEGER}, #{employeename,jdbcType=VARCHAR}, #{position,jdbcType=VARCHAR},
#{salary,jdbcType=DOUBLE}, #{tel,jdbcType=VARCHAR}, #{departmentid,jdbcType=INTEGER}
)
</insert>
2、注解做参数,参数不太多时用
List<Employee> selectByDepartmentID(@Param("departmentID")int departmentID, @Param("salary")double salary);
<select id="selectByDepartmentID" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_employee
where DepartmentID = #{departmentID,jdbcType=INTEGER} and Salary >= #{salary,jdbcType=DOUBLE}
</select>
<select id="selectByDepartmentID" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_employee
where DepartmentID = #{departmentID,jdbcType=INTEGER} and Salary >= #{salary,jdbcType=DOUBLE}
</select>
3、map放入参数,可以方便扩展
List<Employee> selectByDepartmentIDMap(Map<String, Object> paramMap);<select id="selectByDepartmentIDMap" parameterType="java.util.Map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_employee
where DepartmentID = #{departmentID,jdbcType=INTEGER} and Salary >= #{salary,jdbcType=DOUBLE}
</select>
测试:
package com.lls.test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.lls.mapper.EmployeeMapper;
import com.lls.model.Employee;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:config/spring-mybatis.xml"})
public class MyBatisParam {
private static final Logger LOGGER = LoggerFactory.getLogger(MyBatisParam.class);
@Autowired
private EmployeeMapper employeeMapper;
@Test
public void paramObjTest() {
/*
* 对象做参数,需要对象使用到的属性 get/set方法
*/
Employee employee = new Employee();
employee.setDepartmentid(1);
employee.setEmployeename("xiaoA");
employee.setPosition("manager");
employee.setSalary(13000d);
int result = employeeMapper.insert(employee);
LOGGER.info("result: "+result);
}
@Test
public void paramAnnotationTest() {
/*
* 注解做参数,参数不太多时用
*/
List<Employee> employees = employeeMapper.selectByDepartmentID(1,12000d);
LOGGER.info("employees.size: "+employees.size());
}
@Test
public void paramMapTest() {
/*
* map放入参数,可以方便扩展
*/
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("departmentID", 1);
paramMap.put("salary", 12000d);
List<Employee> employees = employeeMapper.selectByDepartmentIDMap(paramMap);
LOGGER.info("employees.size: "+employees.size());
}
}
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.lls.mapper.EmployeeMapper;
import com.lls.model.Employee;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:config/spring-mybatis.xml"})
public class MyBatisParam {
private static final Logger LOGGER = LoggerFactory.getLogger(MyBatisParam.class);
@Autowired
private EmployeeMapper employeeMapper;
@Test
public void paramObjTest() {
/*
* 对象做参数,需要对象使用到的属性 get/set方法
*/
Employee employee = new Employee();
employee.setDepartmentid(1);
employee.setEmployeename("xiaoA");
employee.setPosition("manager");
employee.setSalary(13000d);
int result = employeeMapper.insert(employee);
LOGGER.info("result: "+result);
}
@Test
public void paramAnnotationTest() {
/*
* 注解做参数,参数不太多时用
*/
List<Employee> employees = employeeMapper.selectByDepartmentID(1,12000d);
LOGGER.info("employees.size: "+employees.size());
}
@Test
public void paramMapTest() {
/*
* map放入参数,可以方便扩展
*/
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("departmentID", 1);
paramMap.put("salary", 12000d);
List<Employee> employees = employeeMapper.selectByDepartmentIDMap(paramMap);
LOGGER.info("employees.size: "+employees.size());
}
}
代码文档:http://download.csdn.net/download/lanlianhua_luffy/9869769
阅读全文
0 0
- mybatis入门使用2:传参数
- mybatis入门使用5:传入表名作参数
- Mybatis的参数使用
- mybatis使用字符串参数
- mybatis xml 参数 使用
- MyBatis使用大全(2)------入门初体验
- Mybatis入门使用总结
- MyBatis简单入门使用
- mybatis的入门使用
- MyBatis简单入门使用
- SpringBoot 使用Mybatis入门
- MyBatis使用入门
- Mybatis 入门 使用(新手使用)
- MyBatis入门(三)---多个参数
- MyBatis 入门开发 ----输入,输出参数
- Mybatis使用之参数传递
- mybatis入门——mybatis使用实例
- mybatis 配置文件传参数
- 《Java编程思想》第四版之内部类学习之(三)——内部类的精妙之处
- Flutter实战一Flutter聊天应用(八)
- SSM-1 相关资料整理
- ERROR: Configuration variable JAVA_HOME or JAVACMD is not defined
- 浅谈ajax
- mybatis入门使用2:传参数
- Java三大特性
- Java并发编程实战 AQS(四):CLH同步队列
- 一个java小代码
- iOS 手势解锁密码
- Linux 静态网卡配置
- C预处理器_基础知识
- unity性能优化
- 理解长短期记忆网络(LSTM NetWorks)