1.Mybatis快速入门
(1)写出实体类的javabean形式
(2)创建一个mapper接口,里面提供方法
(3)创建mapper接口的xml映射文件,里面编写查询数据库的语句
(4)创建mybatis核心配置文件mybatis-config.xml
(5) 进行测试
mybatis其实是封装了ibatis,对技术进行了优化,方便了开发。
2.sql语句传参
#{}方式传参是将sql语句中的?转换为占位符
${}方式传参是对sql语句进行字符串的拼接,会存在sql拼接注入的问题
实际开发中用#{}方式进行sql语句传参
3.数据传参
3.1单个数据类型传参
mapper.xml文件中sql语句传入参数方式为#{参数},当传入的参数为一个数据时,参数的名字任意但一般用接口中方法的传入参数。
3.2实体类对象传值
mapper接口方法:
int insertEmployee(Employee employee);
mapper.xml映射文件:
<insert id="insertEmployee">
insert into t_emp(emp_name,emp_salary) values(#{empName},#{empSalary})
</insert>
映射文件中传值为实体类的属性名
3.3多个数据类型传参
当需要传入的参数为多个时,就不能随意起名,有以下两种方案:
(1)在mapper文件的方法中,每个需要传入的参数前加上@param注解,指定传入参数的名称.
(2)在xml映射文件中以arg0,arg1,arg2......方式传参,此方式为mybatis的默认传参方式.
推荐使用第一种方案
3.4Map集合数据
int updateEmployeeByMap(Map<String, Object> paramMap);
<update id="updateEmployeeByMap">
update t_emp set emp_salary=#{empSalaryKey} where emp_id=#{empIdKey}
</update>
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("empSalaryKey", 999.99);
paramMap.put("empIdKey", 5);
int result = mapper.updateEmployeeByMap(paramMap);
标签:传参,xml,mapper,paramMap,emp,sql,Mybatis
From: https://blog.51cto.com/u_16072958/8330480