java里面的orm和太难用了,写不完的xml,决定按照php的orm操作模式封装一个。

68 阅读1分钟

java里面的orm和太难用了,写不完的xml,决定按照php的orm操作模式封装一个。

目前实现了链式where、orwhere和基本的增删改查以及join查询映射实体类。

package com.example.test07.model;

import com.example.test07.entity.Emp;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

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

@SpringBootTest
@Component
class DbImplTest {

    @Autowired
    private JdbcTemplate jdbcTemplate;


    @Test
    void testUpdate() {
        //修改
        EasyDb easyDb1 = new EasyDb(jdbcTemplate);
        Map<String, String> update = new HashMap<>();
        update.put("name", "qweqw");
        update.put("age", "1");
        easyDb1.table("sg_emp")
                .where("id>", "100")
                .where("id<", "1000")
                .update(update);
    }

    @Test
    void testDelete() {
        //删除
        EasyDb easyDb = new EasyDb(jdbcTemplate);
        easyDb.table("sg_emp")
                .where("id>", "1")
                .where("id<", "10")
                .where("aga>", "12312")
                .orWhere("age<", "10")
                .delete();

    }

    @Test
    void testFind() {
        //查询
        EasyDb easyDb = new EasyDb(jdbcTemplate);//选中连接池
        List list = easyDb.table("sg_emp")
                .join("left join sg_admin_users on sg_admin_users.id=sg_emp.id")
                .where("sg_emp.id=", "1")
                .orWhere("sg_emp.id=", "2")
                .find(Emp.class, "sg_emp.name", "sg_emp.sex");
        System.out.println(list);
    }

    @Test
    void testInsert() {
        //添加
        EasyDb easyDb = new EasyDb(jdbcTemplate);
        Object[] values = {null, "123", 1, 1};
        Long id = easyDb.
                table("sg_emp")
                .insert(values);//插入并返回主键id
        System.out.println(id);
    }
}