快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

mybatis有哪些常用方法

这篇文章主要讲解了“mybatis有哪些常用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mybatis有哪些常用方法”吧!

10年专注成都网站制作,成都定制网页设计,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都定制网页设计,高端网页制作,对凿毛机等多个方面,拥有多年的营销推广经验。

mybatis常用方法整理

1. 批量插入

java 接口:

Integer insertList(List list);

xml:


    insert into student (
    ID, NAME, BIRTH, SEX
    ) values
    
        #{item.id}, #{item.name}, #{item.birth}, #{item.sex}
    

其中使用foreach对list这个列表进行循环,循环中每个对象表示名称为item, 开始为(结束为),中间分割符为),(

2. 查找条件为in的情况

where限制为in的均可适用。

1. 传参为List对象

java:

List getStudentListByNames(@Param("names") List names);

xml:


    select * from student a
    
         0">
            a.NAME in
            
                #{item}
            
         
    

我们先用test判断names是否为空并且要有数量,然后进行遍历,其实本质就是进行脚本拼接,和我们平时写法很相似。

2. 传参对象为字符串,多个查询参数以逗号拼接

比如:

"张三,李四,王五"

java:

List getStudentsByNames(@Param("names") String names);

xml:


    select * from student a
    
        
            a.NAME in
            
                    #{item}
                
         
    

和之前的例子差不多,但是判断条件改了,因为不是列表了,还有就是collection中使用split进行分割,其它基本相同。

3. sql语句复用

1. 复用一段sql语句,避免处处编写

如需要重复使用的sql:


    ID, NAME, BIRTH, SEX

复用:

select 

from student where id=#{id}

include中的refid填充值就是上面sqlid的属性值。

2. 复用sql动态填充属性值

如需要别名的sql:


    ${alias}.ID, ${alias}.NAME, ${alias}.BIRTH, ${alias}.SEX

使用t1别名:

select 

    

from student t1 where t1.id=#{id}

4. like的使用

如查找学生名字中带有某某字样的学生:

select 

from student where name like "%"#{name}"%"

5. 复杂返回对象resultMap的使用

如学生student有属性:id, name, class_id . 班级class有属性:id, class_name, class_teacher_id . 老师teacher(这里我们假设只有班主任,一个班级只有一个班主任)有属性: id, teacher_name .

查询班级以及和班级关联的学生和班主任。



select t1.id as class_id, t1.class_name, t2.id as teacher_id, t2.teacher_name, t3.id as student_id, t3.name as student_name 
from class t1 
left join teacher t2 on t1.class_teacher_id = t2.id
left join student t3 on t1.id = t3.class_id
where class_id = #{classId}


       
                
        
            
                
        
        
            
                
        

其中com.demo.vo.ClassDescInfos的java类结构类似如下:

private String classId;
private String className;
private Teacher teacher;
private List students;

这样上述查询就可以返回一个这样的对象,都帮我们处理好了。

具体可以参考这篇文章:

https://www.cnblogs.com/rollenholt/p/3365866.html

感谢各位的阅读,以上就是“mybatis有哪些常用方法”的内容了,经过本文的学习后,相信大家对mybatis有哪些常用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页标题:mybatis有哪些常用方法
URL链接:http://6mz.cn/article/ipcjpd.html

其他资讯