您的当前位置:首页[MyBatis] 基于MyBatis的CURD操作

[MyBatis] 基于MyBatis的CURD操作

来源:锐游网

🎨MyBatis查询的三种方式

在mybatis.xml中配置别名

    <typeAliases>
        <!--给单个类起别名。 type:类型 alias:别名-->
        <typeAlias type="com.moming.entity.User" alias="user"></typeAlias>
        <!--给指定包下所有类起别名。 别名=类名(不区分大小写)-->
        <package name="com.moming.entity"/>
    </typeAliases>

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

    <!--解决数据库字段名称和实体类名称不一致的问题-->
    <resultMap id="usermapper" type="User">
        <!--column放的是数据库字段名,property放的是实体类属性名-->
        <result column="user_name" property="userName"></result>
        <result column="user_age" property="userAge"></result>
    </resultMap>

💦返回单个对象 selectOne

💦返回对象List集合 selectList

💦返回对象Map集合 selectMap

🎨MyBatis参数传递的三种方式

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

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

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

🍂#和$区别

#:底层相当于占位符?

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

两者相比,占位符的优点

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

🍂 模糊查询

两种写法

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

🍂MyBatis完成DML全部操作

🎉增

🎉改

🎉删

🍂设置SqlSession提交 

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

方式一

SqlSession sqlSession = factory.openSession(true);

方式二

sqlSession.commit();

因篇幅问题不能全部显示,请点此查看更多更全内容

Top