0
点赞
收藏
分享

微信扫一扫

JAVA中级篇——MyBatis 是什么

祈澈菇凉 2022-04-14 阅读 48
javaspring

1、主要作用:快速实现对关系型数据库中的数据进行访问(增删改查)的框架。简化jdbc的操作。



 

MyBatis特点

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。

  • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

  • 提供映射标签,支持对象与数据库的orm字段关系映射。

  • 提供对象关系映射标签,支持对象关系组建维护。

  • 提供xml标签,支持编写动态sql。


2、Spring和MyBatis


3、 配置Mybatis的开发环境

 

4、登录连接Mysql
 





5、Mybatis的基本使用






6. 获取新增的数据的自动编号的id

7. 删除数据

8. 修改数据

9. 查询数据-1(返回一个数)

10. 查询数据-2(返回一个记录)

11. 查询数据-3(返回一个列表)
 

12、动态sql —— 01

  建议规范:xml按增删改查    接口方法按增删改查 写好排列

14. 动态SQL -- 其它

15. 关于查询时的字段列表(不用  *  作为查询字段)

通常,建议将字段列表使用<sql>节点进行封装,  表示一个查询字段  写在 sql语句中

例如: 

<sql id="BaseQueryFields">
    <if test="true">
        id, username, password, nickname, avatar, phone, email, description, is_enable, last_login_ip, login_count, gmt_last_login, gmt_create, gmt_modified
    </if>
</sql>

对于上面:

        提示:为避免IntelliJ IDEA误以为以上代码片段是错误的而提示红色(id)的波浪线,所以使用<if test="true">框住了字段列表的代码片段,但这个<if>标签并不是必须的,即使提示了红色的波浪线,也不影响运行。

注意:以上<Sql>节点可以用于封装任何SQL语句的任何片段,不仅仅只是字段列表。


字段可使用idea的可视化工具  得到

 然后sql语句引用字段     

封装后,当需要引用以上代码片段时,可以使用<include>节点进行引用,例如:

<!-- Admin getById(Long id); -->
<select id="getById" resultMap="BaseResultMap">
    select
        <include refid="BaseQueryFields" />   
    from ams_admin where id=#{id}
</select>

<!-- List<Admin> list(); -->
<select id="list" resultMap="BaseResultMap">
    select
        <include refid="BaseQueryFields" />
    from ams_admin order by id
</select>




使用闭合的会报错
<include refid="BaseQueryFields"></include>    

16. 基于Spring的测试

16. 关于@Sql注解

17. 关于测试中的断言(单元测试中的)

 


这里只做了类测试  没有整个项目测试。(后面学习整个项目测试,会知道哪里出错出什么错。)


18. 关于#{}${}格式的占位符

20. 关于RBAC

21. 关于关联查询

21. Mybatis的缓存机制

22. 关于Mybatis小结

举报

相关推荐

0 条评论