通過接口操作MyBatis及數據庫配置文件

爲什麼要通過接口操作MyBatis

在以往的情況下,我們通過MyBatis操作數據庫,每執行一條SQL語句就要實例化一個SqlSession,並且要調用相應的SQL映射文件信息。比如:

String statement = "com.dhj.entity.StudentMapper.delStudent"; 

操作有點麻煩,所以我們採用接口的形式,通過約定,進行更爲簡單的操作。

有一句話特別重要:約定優於配置,配置優於硬編碼。

如何通過接口操作MyBatis

首先,文件結構如圖所示:

其中,Student文件爲一個普通的POJO對象

mapper文件下面是,SQL的配置文件和映射接口文件,我們約定,接口映射文件的類和xml配置文件名是一樣的。

StudentMapper.xml文件源碼:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.krt.mapper.StudentMapper">
<!--namespace 填寫映射文件的類路徑-->

    <!--id 名稱 resultType 結果集類型 parameterType 輸入類型-->
    <select id="selectStudent" resultType="student" parameterType="int">
       select * from Student where id = #{id}
    </select>

    <insert id="addStudent" parameterType="com.krt.entity.Student">
        insert into Student value (#{id},#{name},#{age})
    </insert>

    <delete id="delStudent" parameterType="int" >
          delete from Student where id = #{id}
    </delete>

    <update id="updateStudent" parameterType="com.krt.entity.Student">
        update Student set name = #{name},age =#{age} where id = #{id}
    </update>

    <select id="selectAllStudent" resultType="student" >
       select * from Student
    </select>

</mapper>

StudentMapper接口類源碼:(注意這是一個接口文件)

package com.krt.mapper;

import com.krt.entity.Student;

import java.util.List;

/*
 * @Author 郭明德
 * @Description
 * @Date 2019/3/15 10:36
 *
 **/
//操作MyBatis接口
public interface StudentMapper {
    /**
     * 1,方法名和mapper.xml文件中的標籤的id值相同
     * 2,方法的輸入參數和mapper.xml文件中的標籤的parameterType類型一致
     * 3,方法的返回值 和 mapper.xml文件中的標籤的resultType類型一致
     */
    //public abstract Student selectStudent(int id);
    //查詢一個學生
    Student selectStudent(int id);
    //查詢全部
    List<Student> selectAllStudent();
    //增加
    void addStudent(Student student);
    //刪除
    int delStudent(int id);
    //更新
    void updateStudent(Student student);

}

這個接口文件,我們不進行實現,該接口是StudentMapper.xml的映射文件。相關約定見註解。

這樣我們就可以通過調用該接口的相應的方法就可以調用相應的SQL語句。

我們只需要通過SqlSession對象,映射相應的SQL映射接口,然後調用相應的接口對象。

db.properties文件

該文件是一個用於存儲連接數據庫信息的文件。

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/test
username = root
password = root

這樣就可以方便我們配置數據庫信息。同時,在數據庫發生問題,或者在項目交付使用之後要進行修改數據庫都是非常方便的。

conf.xml中可以通過類似於EL表達式的方式調用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章