代码拉取完成,页面将自动刷新
测试环境和代码方法如上,jfinal-3.6、jfinal-undertow环境下该访问数据库测试方法报空指针异常,跟踪代码是Model._getConfig()方法无法拿到数据库配置信息,请问有什么好的解决办法吗?
你没有加载ActiveRecord
,导致底层并没有创建Blog
的模型数据库操作对象。看例子.
官网文档有说: https://jfinal.com/doc/5-15
可以参考以下例子测试Service
层的:
package com.demo.test.module;
import com.demo.module.blog.Blog;
import com.demo.module.blog.BlogService;
import com.jfinal.aop.Aop;
import com.jfinal.log.Log;
import com.jfinal.log.Log4jLog;
import com.jfinal.log.Log4jLogFactory;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.druid.DruidPlugin;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* https://jfinal.com/doc/5-15
* Log4j: https://sematext.com/blog/log4j-tutorial/
*/
@RunWith(JUnit4.class)
public class TestBlog {
static {
BasicConfigurator.configure();
}
private static Logger log = Logger.getLogger(TestBlog.class);
DruidPlugin dp;
ActiveRecordPlugin arp;
BlogService service;
@Before
public void onSetUp(){
dp = new DruidPlugin("jdbc:mysql://localhost/jfinal_demo?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull", "root", "");
arp = new ActiveRecordPlugin(dp);
arp.addMapping("blog", Blog.class);
// 与 jfinal web 环境唯一的不同是要手动调用一次相关插件的start()方法
dp.start();
arp.start();
service = Aop.get(BlogService.class);
}
@After
public void onTearDown(){
arp.stop();
dp.stop();
}
@Test
public void query(){
Page<Blog> page = service.paginate(1, 10);
log.info("page size: "+page.getTotalPage());
for (Blog one :page.getList()) {
log.info(one);
}
}
@Test
public void save(){
// 通过上面简单的几行代码,即可立即开始使用
Blog blog = new Blog();
boolean result = blog.set("title", "title").set("content", "cxt text").save();
assertTrue(result);
int _id = blog.getInt("id");
Blog old = service.findById(_id);
assertEquals(blog.getStr("title"), old.getStr("title"));
assertEquals(blog.getStr("content"),old.getStr("content"));
}
}
``
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论