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>