详细讲解比Jpa更好用的持久化框架:SpringBoot + Jooq调用生成的CURD(三)

前言

异常问题

查询用法

新增用法 

删除用法

修改用法


前言

前面我们已经知道了Jooq的结构以及Jooq的增删改查的用法,但是很多情况下是不需要程序员去做这些重复增删改查操作的,dao里面生成了很多方法,下面来讲解如何使用它:

异常问题

使用dao的时候依赖注入的时候发现怎么也启动不起项目后来在同事的帮助下解决了这个问题。

加入了两个注解:@Repository和@Autowired

/*
 * This file is generated by jOOQ.
 */
package com.demo.main.jooq.tables.daos;


import com.demo.main.jooq.tables.SClass;
import com.demo.main.jooq.tables.records.SClassRecord;

import java.util.List;

import javax.annotation.Generated;

import org.jooq.Configuration;
import org.jooq.impl.DAOImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;


/**
 * This class is generated by jOOQ.
 */
@Generated(
    value = {
        "http://www.jooq.org",
        "jOOQ version:3.11.9"
    },
    comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
@Repository
public class SClassDao extends DAOImpl<SClassRecord, com.demo.main.jooq.tables.pojos.SClass, Integer> {

    /**
     * Create a new SClassDao without any configuration
     */
    public SClassDao() {
        super(SClass.S_CLASS, com.demo.main.jooq.tables.pojos.SClass.class);
    }

    /**
     * Create a new SClassDao with an attached configuration
     */
    @Autowired
    public SClassDao(Configuration configuration) {
        super(SClass.S_CLASS, com.demo.main.jooq.tables.pojos.SClass.class, configuration);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected Integer getId(com.demo.main.jooq.tables.pojos.SClass object) {
        return object.getId();
    }

    /**
     * Fetch records that have <code>id IN (values)</code>
     */
    public List<com.demo.main.jooq.tables.pojos.SClass> fetchById(Integer... values) {
        return fetch(SClass.S_CLASS.ID, values);
    }

    /**
     * Fetch a unique record that has <code>id = value</code>
     */
    public com.demo.main.jooq.tables.pojos.SClass fetchOneById(Integer value) {
        return fetchOne(SClass.S_CLASS.ID, value);
    }

    /**
     * Fetch records that have <code>classname IN (values)</code>
     */
    public List<com.demo.main.jooq.tables.pojos.SClass> fetchByClassname(String... values) {
        return fetch(SClass.S_CLASS.CLASSNAME, values);
    }
}

查询用法

	@Autowired
	private SClassDao sclassdao;
	public void query(int id) {
		sclassdao.fetchById(id);
	}

新增用法 

	public void insert(SClass s) {
		sclassdao.insert(s);
	}

删除用法

	public void del(Integer id) {
		sclassdao.deleteById(id);
	}

修改用法

修改的时候默认是通过主键去修改的

	public void up(SClass s) {
		sclassdao.update(s);
	}

猜你喜欢

转载自blog.csdn.net/qq_39940674/article/details/93392592