[MyBatis] 基于MyBatis的CURD操作

✨✨博主简介:一个会bbox的‍

✨✨个人主页:沫洺的主页

 系列专栏:  JavaWeb专栏 JavaSE专栏  Java基础专栏vue3专栏

如果文章对你有所帮助请留下三连✨✨

MyBatis查询的三种方式

在mybatis.xml中配置别名

    
        
        
        
        
    

mapper/user,xml中解决数据库字段名称和实体类名称不一致的问题

    
    
        
        
        
    

返回单个对象 selectOne

[MyBatis] 基于MyBatis的CURD操作_第1张图片

返回对象List集合 selectList

[MyBatis] 基于MyBatis的CURD操作_第2张图片

返回对象Map集合 selectMap

[MyBatis] 基于MyBatis的CURD操作_第3张图片

MyBatis参数传递的三种方式

传递的是基本类型+String ,使用 param1

[MyBatis] 基于MyBatis的CURD操作_第4张图片

传递类型是对象,接受使用对象的 属性名

[MyBatis] 基于MyBatis的CURD操作_第5张图片

传递的是map集合,接受时候使用map中的 key

[MyBatis] 基于MyBatis的CURD操作_第6张图片

#和$区别

[MyBatis] 基于MyBatis的CURD操作_第7张图片

[MyBatis] 基于MyBatis的CURD操作_第8张图片

#:底层相当于占位符?

$:底层相当于字符串拼接

两者相比,占位符的优点

  • 更加方便
  • 可以有效的防止SQL注入。
  • 预编译

模糊查询

两种写法

  • 在参数中拼接%%,例如%张%
  • 在sql中拼接%%,例如concat('%',#{param1},'%')

[MyBatis] 基于MyBatis的CURD操作_第9张图片

[MyBatis] 基于MyBatis的CURD操作_第10张图片

MyBatis完成DML全部操作

[MyBatis] 基于MyBatis的CURD操作_第11张图片

[MyBatis] 基于MyBatis的CURD操作_第12张图片

[MyBatis] 基于MyBatis的CURD操作_第13张图片

[MyBatis] 基于MyBatis的CURD操作_第14张图片

[MyBatis] 基于MyBatis的CURD操作_第15张图片[MyBatis] 基于MyBatis的CURD操作_第16张图片

设置SqlSession提交 

MyBatis 默认不自动提交事务,所以 增删改功能 需要我们手动提交事

方式一

SqlSession sqlSession = factory.openSession(true);

方式二

sqlSession.commit();

你可能感兴趣的