SpringBoot learning integration Mybatis

Maven dependency

		<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

model layer

package com.zzf.demo.model;

import lombok.Data;


import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/*
 *
 *@author:zzf
 *@time:2020-12-15
 *
 */
@Entity
@Table(name="zuser")
@Data
public class ZUser2 implements Serializable {
    
    
    //主键
    @Id
    private String id;
    //用户名
    private String name;
    //密码
    private String password;

}

Dao layers

package com.zzf.demo.dao;

import com.zzf.demo.model.ZUser2;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/*
 *
 *@author:zzf
 *@time:2020-12-15
 *
 */
@Mapper
public interface ZUserDao {
    
    
    ZUser2 findByNameAndPassword(@Param("name") String name, @Param("password") String password);
}

No need to write Mybatis configuration file after using @Mapper

application.properties increase configuration

mybatis.mapper-locations=classpath:/mapper/*Mapper.xml
mybatis.type-aliases-package=com.zzf.demo.dao

Related Mapper.xml file (placed in the mapper folder of the resource folder)

<?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.zzf.demo.dao.ZUserDao">
    <resultMap id="UserResultMap" type="com.zzf.demo.model.ZUser2">
        <id column="id" property="id" jdbcType="VARCHAR"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="password" property="password" jdbcType="VARCHAR"/>
    </resultMap>
    <select id="findByNameAndPassword" resultMap="UserResultMap" parameterType="String">
        select * from zuser u
        <where>
            u.name=#{
    
    name}
            and u.password=#{
    
    password}
        </where>
    </select>
</mapper>

Service layer

Increase method

ZUser2 findByNameAndPassword(String name, String password);

ServiceImpl
injection

	@Resource
    private ZUserDao zUserDao;

Implementation

@Override
    public ZUser2 findByNameAndPassword(String name, String password) {
    
    
        return zUserDao.findByNameAndPassword(name,password);
    }

Test (@Slf4j log annotation is used here)

	@Resource
    private ZUserService zUserService1;
    @Test
    void testMybatis(){
    
    
        ZUser2 zuser = zUserService1.findByNameAndPassword("小T", "123456");
        log.info(zuser.toString());
    }

Guess you like

Origin blog.csdn.net/qq_43610675/article/details/111219814