使用MyBatis的二三事_2021.07.15

MyBatis使用generate自动生成DAO实体类与对应的mapper.xml

这个是昨天还是前天的学习内容了,这周末再写~现在在上班不方便,周末回家学习!

MyBatis的映射文件——mapper.xml相关语法

mapper.xml映射文件中定义了操作数据库的相关SQL语句(理解为语句,是一些xml标签等),在映射文件中有很多顶级元素:
cache:给定命名空间的缓存配置

cache-ref:其他命名空间缓存配置的引用

resultMap :是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象

parameterMap:目前很多参考都说废弃了,那就不记录啦

sql:可被其他语句引用的可重用语句块。

insert:映射插入语句

update:映射更新语句

delete:映射删除语句

select:映射查询语句

select

select查询语句是mybatis中最常用的一个,一般很多操作都是从数据库查询然后在前端渲染,所以对比起来insert、update、delete的语句比重会少一点。(个人理解),一个简单的select片段如下:

<select id="selectById" parameterType="int" resultType="hashmap">
	SELECT * FROM person WHERE id = #{id}
</select>

这个语句接收一个intInteger的参数,传参的形式为#{parameter},返回一个hashmap的对象,键是列名,值是列对应结果集的值。(不过我看现在都不写parameterType这个属性了
每一个命名空间中id都是唯一的,所以在代码中可以使用这个id来引用这条语句。

insert、update、delete

这三个都是对表中数据进行更改的,包括:插入、更新和删除

insert例子

<insert id="insertAuthor">
	insert into Author (id,username,password,email,bio)
	values (#{id},#{username},#{password},#{email},#{bio})
</insert>

一般数据库都配置了自动生成主键,所以在insert语句里需要将useGeneratedKeys属性设置为true,然后将keyProperty属性设置到对应的主键上就行:

<insert id="insertAuthor" useGeneratedKeys="true" keyProperty="id">
	insert into Author (username,password,email,bio)
	values (#{username},#{password},#{email},#{bio})
</insert>

update例子

<update id="updateAuthor">
	update Author
	set username = #{username},
	password = #{password},
	email = #{email},
	bio = #{bio}
	where id = #{id}
</update>

delete例子

<delete id="deleteAuthor">
	delete from Author where id = #{id}
</delete>

在语句中还有其他的功能,比如whereforeachif等,这些以后再写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值