认识:
JavaEE开发的一个套件SSM,即:
MyBatis是一个持久层的框架,是对JDBC的一个封装,是一个半自动的ORM框架。
ORM即实体类对象和数据库中的数据的一个映射关系,当操作数据库中的数据的时候,就像是操作实体类对象一样。
下载:
//MyBatis下载
https://github.com/mybatis/mybatis-3
当然jar包开发中都是通过Maven来添加的。
和其他持久层技术的对比:
JDBC:
Hibernate和JPA:
MyBatis:
org.mybatis mybatis 3.5.7 junit junit 4.12 test mysql mysql-connector-java 5.1.3
数据库表设计如下:
根据各字段定义User类的属性,并提供set和get方法,有参、无参构造:
创建mapper接口:调用接口来执行对应的SQL
package com.llg.mybatis.mapperpublic interface UserMapper{/***添加用户信息*/int insertUser();
}
ORM:Object Relationship Mapping,关系对象映射- 对象即Java实体类对象
- 关系即关系型数据库
- 映射即二者的对应关系
Java概念 | 数据库概念 |
---|---|
类 | 表 |
属性 | 字段/列 |
对象 | 记录/行 |
在resources下新建目录mappers,新建UserMapper.xml文件:
insert into t_user values(null,'admin','admin123',23,'男','admin@qq.com')
=========
MyBatis面向接口编程的两个一致:
☀ 映射文件UserMapper.xml文件中的namespace要和Mapper接口的全类名保持一致。由此可以根据mapper接口中的全类名匹配到映射文件。
☀ 映射文件中SQL语句的id要和mapper接口中的方法名一致,这样调用mapper接口中的方法,即可以匹配映射文件中的一个SQL语句
保证了以上两点,调用接口中的方法,就可以根据接口名找到映射文件,再根据方法名找到当前所对应的SQL
表–实体类–mapper接口–映射文件
===
最后记得在核心配置文件中引入映射文件,由于我把映射文件放在resource下,所以这里用目录,而不是.包1.包2的形式