Idea学习----(sql语句)

本文详细介绍了如何使用Spring Boot进行数据库操作,包括 resultMap、sql语句定义,以及单一增删查改、批量操作和多表查询的示例。涵盖了基本的数据库交互技术,适合Java开发者学习和参考。
摘要由CSDN通过智能技术生成
<resultMap id="studentResultMap" type="com.test.Student">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
        <result property="del" column="del"/>
    </resultMap>
<sql id="columns">
        id, name,age,del
    </sql>

单一增删查改

<delete id="delete">
        delete from t_student
        where id = #{id}
    </delete>
<update id="update">
        UPDATE t_student
        <set>
            <if test="name != null"> name = #{name},</if>
            <if test="age != null">age= #{age},</if>
            <if test="del != null">del= #{del},</if>
        </set>
        where id = #{id}
    </update>
 <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
        INSERT INTO t_test_student (<include refid="columns"/>)
        VALUES (#{id}, #{name}, #{age}, #{del})
    </insert>
 <select id="get" resultMap="studentResultMap">
        SELECT
        <include refid="columns"/>
        FROM t_student
        WHERE id = #{id}
    </select>

批量增删查改

<insert id="batchInsert">
        INSERT INTO t_student (<include refid="columns"/>)
        VALUES
        <foreach item="item" collection="list" separator=",">
            (#{item.id}, #{item.name},#{item.age},#{item.del})
        </foreach>
    </insert>
   <select id="list" parameterType="com.test.Student" resultMap="studentResultMap">
        SELECT
        <include refid="columns"/>
        FROM t_student
        <where>条件
            <if test="age != null">AND  age = #{age}</if>
            <if test="name != null">AND name LIKE CONCAT('%',#{name},'%')</if>
        </where>
        ORDER BY id
    </select>
 <delete id="batchDelete" parameterType="java.util.List">
        delete from t_student
        where id  in
        <foreach item="item" collection="list" open="(" separator="," close=")">
            #{item.id}
        </foreach>
    </delete>

多表查询

 <sql id="columns2">
        st.id,st.name,st.age,sc.score as score,sc.subject as subject
    </sql>

    <select id="listAllStudentScore"  resultMap="studentscoreResultMap">
        SELECT
        <include refid="columns2"/>
        FROM t_student as st
        left join t_score as sc on sc.student_id=st.id
        where del = 0
        ORDER BY id
    </select>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus提供了一个方便的代码生成插件,可以帮助开发者快速生成符合Mybatis-Plus风格的代码。这个插件无需添加依赖,也无需配置模板引擎依赖,只需要简单勾选需要的选项,即可生成包含Controller层、service层、serviceImpl层、dao层、xml文件和实体类的代码。\[2\] 使用这个插件可以极大地简化开发过程,提高效率。它具有以下特性: - 无侵入:只做增强不做改变,引入它不会对现有工程产生影响。 - 强大的CRUD操作:内置通用Mapper和通用Service,通过少量配置即可实现单表大部分CRUD操作,还有强大的条件构造器,满足各类使用需求。 - 支持Lambda形式调用:通过Lambda表达式,方便编写各类查询条件,无需担心字段写错。 - 支持主键自动生成:支持多种主键策略,可自由配置,解决主键问题。 - 支持ActiveRecord模式:支持ActiveRecord形式调用,实体类只需继承Model类即可进行强大的CRUD操作。 - 支持自定义全局通用操作:支持全局通用方法注入,可以在任何地方使用。 - 内置代码生成器:可以快速生成Mapper、Model、Service、Controller层代码,支持模板引擎,还有丰富的自定义配置选项。 - 内置分页插件:基于MyBatis的物理分页,无需关心具体操作,配置好插件后,写分页等同于普通List查询。 - 支持多种数据库:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer等多种数据库。 - 内置性能分析插件:可以输出SQL语句以及执行时间,方便开发测试时进行性能分析。 - 内置全局拦截插件:提供全表delete、update操作智能分析阻断,也可以自定义拦截规则,预防误操作。\[3\] 总之,MyBatis-Plus的代码生成插件是一个非常方便的工具,可以帮助开发者快速生成符合Mybatis-Plus风格的代码,简化开发过程,提高效率。 #### 引用[.reference_title] - *1* *2* *3* [MybatisPlus 超好用的idea代码生成插件,及使用详解](https://blog.csdn.net/beibei3321/article/details/124978498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值