首先,要在JFinal中使用MySQL,需要在pom.xml中引入JFinal官方提供的jfinal-ext3插件:
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal-ext3</artifactId>
<version>3.4.0</version>
</dependency>
引入插件后,需要在config常量类中配置MySQL的数据库连接信息:
public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {
LoadPropertyFile lpf = new LoadPropertyFile("dbconfig.properties");
me.setDevMode(true);
me.setEncoding("utf-8");
me.setBaseUploadPath("/upload");
me.setMaxPostSize(10 * 1000 * 1000);
}
public void configRoute(Routes me) {
me.add("/hello", HelloController.class);
}
public void configPlugin(Plugins me) {
DruidPlugin druidPlugin = new DruidPlugin(lpf.get("db.jdbcUrl"), lpf.get("db.user"), lpf.get("db.password").trim());
me.add(druidPlugin);
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
me.add(arp);
}
public void configInterceptor(Interceptors me) {
}
public void configHandler(Handlers me) {
}
}
上述代码中,首先需要从dbconfig.properties文件中获取MySQL的jdbcUrl、user和password信息,然后使用DruidPlugin和ActiveRecordPlugin两个插件创建数据库连接并实现ORM操作。
在创建Model类时,需要继承com.jfinal.plugin.activerecord.Model类:
@TableName("student")
public class Student extends Model{
public static final Student me = new Student();
}
在具体的Controller中调用Model方法实现MySQL数据的CRUD操作:
public class HelloController extends Controller {
public void index() {
List<Student> students = Student.me.find("select * from student");
for(Student student : students) {
renderText(student.toString());
}
}
}
上述代码中,大家通过Student.me.find方法查询MySQL数据库中的student表,并将查询结果循环遍历打印。
本文介绍了如何在JFinal中使用MySQL,需要引入jfinal-ext3插件并配置数据库连接信息,同时需要继承Model类和调用Model方法实现MySQL数据的CRUD操作。