写点什么

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

作者:@零度
  • 2022 年 6 月 15 日
  • 本文字数:1405 字

    阅读完需:约 5 分钟

MyBatis 的增删改查

1、添加

<!--int insertUser();-->

<insert id="insertUser">

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

</insert>

2、删除

<!--int deleteUser();-->

<delete id="deleteUser">

delete from t_user where id = 7

</delete

3、修改

<!--int updateUser();-->

<update id="updateUser">

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

</update>

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

4、查询一个实体类对象

<!--User getUserById();-->

<select id="getUserById" resultType="com.atguigu.mybatis.bean.User">

select * from t_user where id = 2

</select

5、查询集合

<!--List<User> getUserList();-->

<select id="getUserList" resultType="com.atguigu.mybatis.bean.User">

select * from t_user

</select>

注意:

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视频

<!--int updateUser();-->

<update id="updateUser">

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

</update>

<!--User getUserById();-->

<select id="getUserById" resultType="com.atguigu.mybatis.bean.User">

select * from t_user where id = 2

</select>

<!--List<User> getUserList();-->

<select id="getUserList" resultType="com.atguigu.mybatis.bean.User">

select * from t_user

</select>

3、map 集合类型的参数

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

4、实体类类型的参数

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

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

5、使用 @Param 标识参数

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

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

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

用户头像

@零度

关注

关注尚硅谷,轻松学IT 2021.11.23 加入

IT培训 www.atguigu.com

评论

发布
暂无评论
java编程培训Mybatis的增删改查与获取参数值_mybatis_@零度_InfoQ写作社区