设为首页 加入收藏

TOP

Mybatis 入门实战(2)--简单使用(二)
2023-07-25 21:33:34 】 浏览:81
Tags:Mybatis 简单使
t;com/abc/mapper/StudentMapper.xml"
/> <mapper class="com.abc.mapper.TeacherMapper"/> </mappers> </configuration>

4、创建实体类

4.1、Student.java

package com.abc.entity;

import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;

@ToString
@Data
public class Student {
    private Long id;

    private LocalDateTime createTime;

    private LocalDateTime modifyTime;

    private String name;

    private Integer age;

    private String homeAddress;
}

4.2、Teacher.java

package com.abc.entity;

import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;

@ToString
@Data
public class Teacher {
    private Long id;

    private LocalDateTime createTime;

    private LocalDateTime modifyTime;

    private String name;

    private Integer age;

    private String homeAddress;
}

5、创建 Provider

provider 主要用来提供 SQL。

package com.abc.provider;


import org.apache.ibatis.builder.annotation.ProviderMethodResolver;
import org.apache.ibatis.jdbc.SQL;

public class TeacherProvider implements ProviderMethodResolver {
    public static String select2(String name, String homeAddress) {
        return new SQL(){{
            SELECT("*");
            FROM("a_teacher");
            if (name != null && !"".equals(name)) {
                WHERE("name like #{name}");
            }
            if (name != null && !"".equals(homeAddress)) {
                WHERE("home_address like #{name}");
            }
        }}.toString();
    }
}

6、创建 Mapper

6.1、StudentMapper.java

package com.abc.mapper;

import com.abc.entity.Student;
import org.apache.ibatis.annotations.Param;

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

public interface StudentMapper {
    void insert(Student student);

    void update(Student student);

    Student selectById(Long id);

    List<Student> select(@Param("name") String name, @Param("homeAddress") String homeAddress);

    List<Map<String, Object>> select2(String name, String homeAddress);

    void delete(Long[] ids);
}

StudentMapper 使用 XML 来编写 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.abc.mapper.StudentMapper">
    <insert id="insert" parameterType="com.abc.entity.Student" useGeneratedKeys="true" keyProperty="id">
        insert into a_student(create_time,modify_time,name,age,home_address)
        values(#{createTime},#{modifyTime},#{name},#{age},#{homeAddress})
    </insert>

    <update id="update" parameterType="com.abc.entity.Student">
        update a_student set id=id
        <if test="name != null and name != ''">
            ,name=#{name}
        </if>
        <if test="age != null">
            ,age=#{age}
        </if>
        <if test="homeAddress != null and homeAddress != ''">
            ,home_address=#{homeAddress}
        </if>
        where id=#{id}
    </update>

    <select id="selectById" resultType="com.abc.entity.Student">
        select * from a_student where id=#{id}
    </select>

    <select id="select" resultType
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java中的运算符 下一篇第2-3-7章 个人网盘服务接口开发-..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目