1. myBatis

(1)myBatis是什么?

是一个开源的持久层框架。
注:myBatis底层仍然是jdbc。

(2)编程步骤

step1. 导包。
mybatis,ojdbc,junit。
step2. 添加配置文件。
注:配置文件主要包含连接池的配置和映射文件的位置。
step3. 写实体类。
注:属性名必须跟表的字段名一样(大小写不区分)。
step4. 写映射文件。
注:映射文件主要包含的是sql语句。
step5. 使用SqlSession提供的方法来访问数据库。

(3)基本原理

 Unit07: MyBatis框架简介 、 MyBatis基本应用

(4)返回Map类型的结果

myBatis会将查询到的记录放到一个Map对象里面(会以字段名为key, 字段值作为value),然后再将Map对象里面的数据放到实体对象里面。

(5)解决表的字段名与实体类的属性名不一致的情况

方式一:使用别名来解决。
方式二: 使用ResultMap来解决。

Unit07: MyBatis框架简介 、 MyBatis基本应用

(6)Mapper映射器

Mapper映射器是什么?

是符合映射文件要求的接口。
注:myBatis会依据该接口的要求生成一个相应的实例。

具体要求:

a. 方法的名称必须与sql的id一样。
b. 方法的返回值类型必须与sql的resultType一样。
c. 方法的参数类型必须怀sql的parameterType一样。
d. 映射文件的namespace必须等于该接口的完整的名称。

如何使用?

step1. 先按照映射文件要求写好相应的接口,比如EmployeDAO。

Unit07: MyBatis框架简介 、 MyBatis基本应用

step2. 调用SqlSession的方法获得符合映射器要求的对象。

Unit07: MyBatis框架简介 、 MyBatis基本应用

代码示例:

Unit07: MyBatis框架简介 、 MyBatis基本应用

 

src/main/java

dao (Mapper映射器的接口类)

package dao;

import java.util.List;
import java.util.Map;

import entity.Employee;
import entity.Employee2;

/**
 * Mapper映射器
 *
 */
public interface EmployeeDAO {
    public void save(Employee e);
    public List<Employee> findAll();
    public Employee findById(int id);
    public void modify(Employee e);
    public void delete(int id);
    public Map findById2(int id);
    public Employee2 findById3(int id);
}
EmployeeDAO.java

相关文章:

猜你喜欢
相关资源
相似解决方案