通用Mapper,使用插件 tk-mybatis

接口

package ws.wsj.mapper;

import tk.mybatis.mapper.common.Mapper;
import ws.wsj.pojo.Ke;

//插件tk-mybatis 通用mapper
public interface KeMapper extends Mapper<Ke> {
}

package ws.wsj.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

//使用的插件 tk-mybatis 通用mapper
//所有参数构造函数 AllArgsConstructor; 无参数构造函数 NoArgsConstructor
@Data
@AllArgsConstructor
@NoArgsConstructor
//数据库的表名
@Table(name = "la")
public class Ke {
    @Id
    @GeneratedValue(generator = "JDBC")
    private Integer id;
    private String name;

    public Ke(String name) {
        this.name = name;
    }
}

数据库配置文件
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql:/d3
db.username=root
db.password=

mybatis-config

<?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 resource="db.properties"/>
    <!-- 日志 -->
    <!--<settings>
        <setting name="logPrefix" value="dao."/>
    </settings>
    -->
    <!-- 别名 -->
    <typeAliases>
        <!-- 将实体包下的类自动为别名 ws.wsj.entity.user 别名就是user -->
        <package name="ws.wsj.pojo"/>
    </typeAliases>
    <!-- 注册拦截器分页插件 ;页面拦截器 PageInterceptor-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.username}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="ws.wsj.mapper.KeMapper"/>
        <package name="tk.mybatis.mapper.common.Mapper"/>
        <!--<package name="ws.wsj.mapper"/>-->
    </mappers>
</configuration>
package ws;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.mapperhelper.MapperHelper;
import ws.wsj.mapper.DiMapper;
import ws.wsj.mapper.KaiMapper;
import ws.wsj.mapper.KeMapper;
import ws.wsj.mapper.UserMapper;
import ws.wsj.pojo.Ke;
import ws.wsj.pojo.User;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

// 获取自增主键
//1 使用配置(映射文件)文件(KaiMapper.xml); 2 使用注解(KaiMapper.java)

// java boolean 映射 mysql bit 或者是 tinyint unsigned
// java LocalDate 映射 mysql date
// java LocalTime 映射 mysql time
// java LocalDataTime 映射 mysql DataTime
// java.util.Date 映射 mysql Datetime
@Slf4j
public class Demo {
    SqlSession ss = null;
    KeMapper kk = null;

    @Before
    public void init() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //Sql会话工厂 SqlSessionFactory;
        var sf = new SqlSessionFactoryBuilder().build(is);
        ss = sf.openSession(true);

        //配置 Configuration; 注册映射器 registerMapper;
        //流程配置 processConfiguration
        Configuration cfg = sf.getConfiguration();
        MapperHelper mapper = new MapperHelper();
        mapper.registerMapper(Mapper.class);
        mapper.processConfiguration(cfg);

        //获取映射器 getMapper
        kk = ss.getMapper(KeMapper.class);
    }
    //通用mapper
    @Test
    public void t5() {
        kk.insert(new Ke("凯雷德"));
        log.info("{}", kk.selectAll());
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐