jfinal前后端demo案例展示
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/16559407.html
依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal-undertow</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>4.9.21</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
</dependencies>
后端
public class DbConfig extends JFinalConfig {
// 运行config类,浏览器输入 http://localhost:8080/book/
public static void main(String[] args) {
UndertowServer.start(DbConfig.class, 8080, true);
}
public class MyGenerator {
public static DataSource getDataSource() {
DruidPlugin dp = new DruidPlugin("jdbc:mysql://127.0.0.1:3306/jfinaldb?serverTimezone=UTC&characterEncoding=utf-8", "root", "123456");
dp.start();
return dp.getDataSource();
}
public static void main(String[] args) {
//1 DataSource
//2 base model package name
String baseModelPackageName="com.jing.model.base";
//3 base model dir
String baseModelOutputDir= PathKit.getWebRootPath()+"/../java/com/jing/model/base";
//4 modelPackageName
String modelPackageName = "com.jing.model";
//5 modelOutputDir
String modelOutputDir = baseModelOutputDir + "/..";
//
Generator gernerator= new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
gernerator.setDialect(new MysqlDialect());
// dao
gernerator.setGenerateDaoInModel(true);
gernerator.setGenerateDataDictionary(true);
gernerator.generate();
}
}
public class Books extends Model<Books> {
// 这里不用写,自动生成
}
public class BookService {
public static final Books dao = new Books().dao();
//查找列表
public List<Books> getList() {
return dao.findAll();
}
public Books findById(Integer id) {
return dao.findById(id);
}
//删
public Ret deleteBookById(Integer id) {
Books book = dao.findById(id);
if (book == null) {
return Ret.fail("msg", "删除失败");
}
boolean success = book.delete();
return success ? Ret.ok("msg", "删除成功") : Ret.fail("msg", "删除失败");
}
//增
public Ret addBook(Books book) {
if (book == null) {
return Ret.fail("msg", "保存失败");
}
boolean success = book.save();
return success ? Ret.ok("msg", "保存成功") : Ret.fail("msg", "保存失败");
}
//改
public Ret updateBook(Books book) {
if (book == null || book.get("id") == null) {
return Ret.fail("msg", "更新失败");
}
Books dbBook = dao.findById(book.getInt("id"));
if (dbBook == null) {
return Ret.fail("msg", "更新失败");
}
boolean success = book.update();
return success ? Ret.ok("msg", "更新成功") : Ret.fail("msg", "更新失败");
}
}
前端
index.html