Mybatis的使用流程

文章目录

  • 前言
  • 一、pom.xml
  • 二、sqlMapConfig.xml
  • 三 、UserMapper.xml和注解实现
  • 总结


前言

mybatis框架是对dao层的数据进行处理,其实也就是对mysql数据进行处理,比jdbcTemplate操作数据库根据方便快捷。


一、pom.xml

当我们创建一个Maven工程后,该工程中会自动生成一个pom.xml文件,该文件里面用于存放我们需要使用的一些配置文件。而Mybatis框架的使用,就必须在pom.xml中加入它的坐标:

 <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.4</version>
</dependency>

然后maven刷新即可。

二、sqlMapConfig.xml

这一个文件是属于mybatis框架中的核心配置文件,只有在这个文件配置了的基础上,才能够真正使用mybatis框架。
我们需要在该文件中配置一些内容:

<!-- 核心约束 -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!--通过properties标签加载外部properties文件-->
    <properties resource="jdbc.properties"></properties>
    
	 <!--自定义类的别名-->
    <typeAliases>
        <typeAlias type="com.itheima.domain.User" alias="user">								</typeAlias>
    </typeAliases>

    <!--数据源的环境-->
    <environments default="developement">
        <environment id="developement">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>

        </environment>
    </environments>
    <!--加载映射文件-->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"></mapper>
    </mappers>

</configuration>

三 、UserMapper.xml和注解实现

实现对sql语句的编写,来对数据库进行增删改查。有两者方式一个配置Mapper.xml文件,一个就是注解配置。
UserMapper.xml该配置文件是对User类进行数据库操作。

<?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.itheima.mapper.UserMapper">

    <!--sql语句的抽取-->
    <sql id="selectUser">select * from user</sql>

    <select id="findByCondition" parameterType="user" resultType="user">
        <include refid="selectUser"></include>
        <where>
            <if test="id!=0">
                and id=#{id}
            </if>
            <if test="username!=null">
                and username = #{username}
            </if>
            <if test="password!=null">
                and password=#{password}
            </if>
        </where>
    </select>
    <!-- 设置一个根据id查询的sql语句 -->
    <select id="findByIds" parameterType="list" resultType="user">
        <include refid="selectUser"></include>
        <where>
            <foreach collection="list" open="id in(" close=")" item="id" separator=",">
                #{id}
            </foreach>
        </where>
    </select>

</mapper>

在配置了这个xml文件后,我们还得书写实体类,也就Mapper文件。

注解配置:就是对dao中的接口方法上进行配置:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.itheima.mapper;

import com.itheima.domain.User;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserMapper {
    @Insert({"insert into user value (#{id},#{username},#{password},#{birthday})"})
    void save(User var1);

    @Update({"update user set username=#{username},password=#{password} where id=#{id}"})
    void update(User var1);

    @Delete({"delete from user where id=#{id}"})
    void delete(int var1);

    @Select({"select *from user"})
    List<User> findAll() throws IOException;

    @Select({"select *from user where id=#{id}"})
    User findById(int var1) throws IOException;

总结

Mybatis中是一个轻量级的框架,但是它的关键性能都很不错。

你可能感兴趣的:(mybatis,框架)