前言:以下内容,讲解的是在SSM环境下,开发环境配置完成前提下,如何编写接口层,实体类,映射文件的详细说明,环境配置,事务管理相关内容没有讲述。
1,什么是Mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录
其他常用数据库操作方式:JDBC,Hibernate,Spring Data JPA
2,如下图,之后内容主要说明整个SSM开发环境下,如果编写Dao层,实体类,映射文件,完成整个项目接口层代码的开发。
3,一个数据库表实体类的编写
数据库中industry表设计如下:
实体类如何编写呢:
(1)鼠标移到domain,鼠标右键-->new-->class
(2)对话框中,name栏输入实体类名字【Industry】,Superclass中原来有内容的,删除,击点【finish】按钮
(3)Eclipse会自动生成一个实体类基础代码,之后就是在里面填写具体的数据库定义了
package cn.edu.jlu.domain;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class Industry {
Integer industryId;
String industryTitle;
}
注意点:下面的图,表明了数据库表列明和变量名直接的关系,驼峰命名法,数据库类型和变量类型的对照关系,之后就会在XML中对表中列和类变量的映射关系进行定义。
4,数据库接口类编写
(1)我们的数据库接口类放在mapper目录下面,所以鼠标移到mapper,鼠标右键,new-->Interface
(2)输入接口类名称,IndustryMapper,击点finish按钮
(3)如下图,红框部分为添加代码,在接口类中添加一个findById的接口,入参为ID,根据ID查找一条记录,记录结构返回,放在Industry实体类的实现类中。
5,编写映射文件,定义实体类与数据库表的映射关系
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.edu.jlu.mapper.IndustryMapper">
<resultMap type="cn.edu.jlu.domain.Industry" id="industryResult">
<id column="INDUSTRY_ID" property="industryId" javaType="java.lang.Integer"/>
<result column="INDUSTRY_TITLE" property="industryTitle" javaType="java.lang.String"/>
</resultMap>
<select id="findById" parameterType="java.lang.Integer" resultMap="industryResult">
select INDUSTRY_ID,INDUSTRY_TITLE from industry
where INDUSTRY_ID = #{id,jdbcType=INTEGER}
</select>
</mapper>