java 编程培训 Mybatis 的增删改查与获取参数值
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 集合的键就可以获取相对应的值,注意 ${}需要手动加单引号
评论