JOOQ踩坑记录——使用生成的Dao报错问题解决

断了今生、忘了曾经 提交于 2020-03-20 10:26:55

3 月,跳不动了?>>>

初次使用jooq,像往常一样像通过在service注入生成的Dao然后在方法中调用,没想到直接报错:Cannot execute query. No Connection configured;点到UserDao源码里看到如下所示:

我们用@Autowired注入的是一个没有任何配置的UserDao,需要我们用第二个构造方法构造一个有configuration的实例;

完整实现方式如下:

public class UserServiceImpl implements UserService {
    @Autowired
    DSLContext context;
    private Configuration configuration;
    private UsersDao usersDao;
    @PostConstruct//表示在UserServiceImpl构造完成之后执行
    private void createDao(){
         usersDao=new UsersDao(context.configuration());
    }
    private com.example.demo.generator.tables.Users u= com.example.demo.generator.tables.Users.USERS.as("u");
    @Override
    public Result selectById(Integer id) {
        //自己编写sql查询
        /*Result result=context.select(u.AGE,u.CITY)
                .from(u).where(u.ID.eq(1)).fetch();
        System.out.println(result.get(0).toString());*/
        //使用自动生成的dao
        Users user=usersDao.fetchOneById(id);
        System.out.println(user.toString());
        return null;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!