栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

0805总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

0805总结

#{}与${}的区别


        #{}:预编译处理,将SQL语句中的#{}替换为?占位符,类似preparedStatement,可以防止SQL注入。

        ${}:为字符串拼接,类似statement,存在SQL注入风险


多个参数传参:

        方法1:        不建议

                语句中不写parameterType,通过#{arg0}、#{arg1}...或#{param1}、#{param2}...顺序传参,自动识别参数类型

//例1

//接口中
int updateById(int id, String nickname);


  update t_user set nickname = #{param1} where id = #{param2}

         方法2:        建议

                使用注解方式

//例2

//接口中

int updateById(@Param("id") int id, @Param("nickname") String nickname);

 

        update t_user set nickname = #{nickname} where id = #{id}

 


 parameterType:

        指定传参参数类型        

        范围:基本类型、引用类型、实体类类型

        实体类需要配置别名使用


resultType:

        指定结果集的类型

        范围:基本类型和实体类类型

        实体类需要配置别名使用,实体类中的属性名名称必须和查询语句中的列名保持一致


resultMap:

        通过resultMap,可以指定查询结果字段和实体属性字段的映射关系

   

   

   

        子标签:

                id:用于设置主键字段

                result:用于设置普通字段的映射关系

        标签内属性:

                property:映射的属性名称

                column:数据表的列名或者标签别名


动态SQL: 

        if:判断

        where:

                去掉第一个and 1=1

                后面为空时,去掉where

        set:

                去掉了最后一个,号

                问题:后面为空时,去掉了set,sql语句会报错

        foreach:

                collection:需要遍历的数组或集合

                item:每一项的形参名

                index:每一项的索引名

                open:开始符号

                close:关闭符号

                separtor:分隔符


联查:         1对1:

                使用select

 

       

       

                 

                        property配置了实体类对应的属性

                        column配置了关联字段

                        select对应了相关的的查询语句

                直接进行联查,在association中配置映射字段

        

        

                

                

        

        select t_address.id,

                addr,

                phone,

                postcode,

                user_id,

                username,

                password,

                nickname,

                age,

                sex,

                school_name

        from t_address

                left join t_user tu on tu.id = t_address.user_id

        where t_address.id = #{id}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号