Mybatis

什么是Mybatis

MyBatis 是一款开源的优秀持久层框架面,向配置编程,SQL语句与代码分离,方便维护,良好支持数据映射,结果处理方便,支持动态SQL语句

动态生成SQL语句

if标签

if标签可以根据条件来判断是否包含某个SQL语句的片段

例如:

<select id="findUsersByAge" parameterType="Map" resultType="User">

SELECT * FROM user WHERE 1 = 1

<if test="minAge != null">

AND age &gt;= #{minAge}

</if>

<if test="maxAge != null">

AND age &lt;= #{maxAge}

</if>

</select>

以上代码中,<if>元素用于判断minAge和maxAge是否为null,如果不为null,则将对应的SQL语句片段拼接到最终的SQL语句中。

where标签

<where>可以用于动态生成WHERE子句,如果所有条件均为null,则不会生成WHERE子句。

例如:

<select   id="findUserByUsernameAndPassword"   parameterType="Map"  resultType="User">

SELECT * FROM user

<where>

<if test="username != null">

AND username = #{username}

</if>

<if test="password != null">

AND password = #{password}

</if>

</where>

</select>

<where>用于动态生成WHERE子句,如果username和password均为null,则不会生成WHERE子句.where标签还可以自动省略AND

foreach元素

foreach元素可以用于循环遍历一个集合,并将集合中的元素拼接到SQL语句中。

例如:

<select   id="findUsersByIds"    parameterType="List"     resultType="User">

SELECT * FROM  user  WHERE id  IN

<foreachcollection="list"  item="id"   open="("separator=","close=")">

#{id}

</foreach>

</select>

<foreach>用于循环遍历List类型的参数,并将集合中的元素拼接到SQL语句中。

数据库自动生成ID

<insert  id="save"parameterType="User"  useGeneratedKeys="true" keyProperty="id"> INSERT INTO user(username, password, age) VALUES (#{username}, #{password}, #{age})</insert>

通过useGeneratedKeys="true"参数告诉MyBatis要求数据库生成主键,并通过keyProperty="id"参数指定了主键的属性名。这样,当执行插入操作后,主键值将自动赋值到User对象的id属性中。

如何在springboot中使用mybatis

在pom.xml中导入依赖

在applicati.yml中配置数据库连接

在启动类的同级目录下创建mapper包,然后创建对应的mapper类

在mapper类上加入@Mapper注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值