java编程培训Mybatis的增删改查与获取参数值

149 阅读1分钟

MyBatis的增删改查

1、添加

insert into t_user values(null,'admin','123456',23,'男')

2、删除

delete from t_user where id = 7

</delete

3、修改

update t_user set username='ybc',password='123' where id = 6

更多Java –大数据 – 前端 – UI/UE - Android - 人工智能资料下载,可访问百度:尚硅谷官网(www.atguigu.com)

4、查询一个实体类对象

select * from t_user where id = 2 </select 5、查询集合

select * from t_user

注意:

1、查询的标签select必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系

resultType:自动映射,用于属性名和表中字段名一致的情况_java培训

resultMap:自定义映射,用于一对多或多对一或字段名和属性名不一致的情况

2、当查询的数据为多条时,不能使用实体类作为返回值,只能使用集合,否则会抛出异常

TooManyResultsException;但是若查询的数据只有一条,可以使用实体类或集合作为返回值

​编辑

 

MyBatis获取参数值的两种方式(重点)

MyBatis获取参数值的两种方式:${}和#{}

${}的本质就是字符串拼接,#{}的本质就是占位符赋值

${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号

1、单个字面量类型的参数

若mapper接口中的方法参数为单个的字面量类型

此时可以使用{}和#{}以任意的名称获取参数的值,注意{}需要手动加单引号

2、多个字面量类型的参数

若mapper接口中的方法参数为多个时

此时MyBatis会自动将这些参数放在一个map集合中,以arg0,arg1...为键,以参数为值;以

param1,param2...为键,以参数为值;因此只需要通过{}和#{}访问map集合的键就可以获取相对应的值,注意{}需要手动加单引号_java视频

update t_user set username='ybc',password='123' where id = 6

select * from t_user where id = 2 select * from t_user

3、map集合类型的参数

若mapper接口中的方法需要的参数为多个时,此时可以手动创建map集合,将这些数据放在map中只需要通过{}和#{}访问map集合的键就可以获取相对应的值,注意{}需要手动加单引号

4、实体类类型的参数

若mapper接口中的方法参数为实体类对象时

此时可以使用{}和#{},通过访问实体类对象中的属性名获取属性值,注意{}需要手动加单引号

5、使用@Param标识参数

可以通过@Param注解标识mapper接口中的方法参数

此时,会将这些参数放在map集合中,以@Param注解的value属性值为键,以参数为值;以

param1,param2...为键,以参数为值;只需要通过{}和#{}访问map集合的键就可以获取相对应的值,注意{}需要手动加单引号