赞
踩
@Mapper
public interface UserInfoMapper {
@Insert("<script>" +
"insert into userinfo (username,password,age," +
"<if test='gender!=null' >" +
"gender,</if>" +
"phone) " +
"values(#{username},#{password},#{age}," +
"<if test='gender!=null'>#{gender},</if>" +
"#{phone})" +
"</script>")
Integer insert(UserInfo userInfo);
}
@Select("<script>+" +
"select * from userinfo" +
" <where>" +
" <if test=\"username!=null\">" +
" username = #{username}" +
" </if>" +
" <if test=\"password!=null\">" + //此处用了双引号,需要转义
" and password = #{password}" +
" </if>\n" +
" <if test=\"age!=null\">" +
" and age = #{age}" +
" </if>" +
" </where>"+
"</script>")
List<UserInfo> select2(UserInfo userInfo);
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserinfoMapper">
<insert id="insert">
insert into userinfo(username, password,
<if test="age!=null"> <!--对年龄作了判断,判断条件对应Java里的属性 -->
age <!-- 数据库的字段-->
</if>)
values (#{username}, #{password},
<if test="age!=null">
#{age}
</if>)
</insert>
</mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <insert id="insert"> insert into userinfo <trim suffixOverrides="," prefix="(" suffix=")"> <if test="username!=null"> username, </if> <if test="password!=null"> password, </if> <if test="age!=null"> age, </if> <if test="gender!=null"> gender </if> </trim> values <trim suffixOverrides="," prefix="(" suffix=")"> <if test="username!=null"> #{username}, </if> <if test="password!=null"> #{password}, </if> <if test="age!=null"> #{age} </if> <if test="gender!=null"> #{gender} </if> </trim> </insert> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <select id="select" resultType="com.example.demo.model.UserInfo"> select * from userinfo where <trim prefixOverrides="and"> <if test="username!=null"> username = #{username} </if> <if test="password!=null"> and password = #{password} </if> <if test="age!=null"> and age = #{age} </if> </trim> </select> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <select id="select" resultType="com.example.demo.model.UserInfo"> select * from userinfo where 1=1 <trim prefixOverrides="and"> <if test="username!=null"> and username = #{username} </if> <if test="password!=null"> and password = #{password} </if> <if test="age!=null"> and age = #{age} </if> </trim> </select> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <select id="select" resultType="com.example.demo.model.UserInfo"> select * from userinfo <where> <if test="username!=null"> username = #{username} </if> <if test="password!=null"> and password = #{password} </if> <if test="age!=null"> and age = #{age} </if> </where> </select> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <update id="update"> update userinfo set <trim suffixOverrides=","> <if test="username != null"> username = #{username}, </if> <if test="age != null"> age = #{age}, </if> <if test="gender != null"> gender = #{gender} </if> </trim> where age = 21 </update> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserinfoMapper"> <update id="update"> update userinfo <set> <if test="username != null"> username = #{username}, </if> <if test="age != null"> age = #{age}, </if> <if test="gender != null"> gender = #{gender} </if> </set> where username = 'zhangliu' </update> </mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserinfoMapper">
<sql id="selectTable"> <!--抽取共性,id与下面的refid对应-->
select username, password, gender from userinfo
</sql>
<!--引用-->
<select id="selectAll" resultType="com.example.sp20240607.model.UserInfo">
<include refid="selectTable"></include> <!--refid表示引用的id是什么-->
where id = 1
</select>
</mapper>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
<!--如果是SpringBoot3.x以上的版本-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.21</version>
</dependency>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。