Jpress V2.0 编译、多表操作、读取配置文件

多表操作

以下解决多表查询分页以及数据库表字段相同会覆盖的问题

参考资料:https://www.jfinal.com/doc/5-10

StringBuilder sql =new StringBuilder(" from clsd_lot.lot_package_car pc left join clsd_lot.lot_car c on pc.car_id=c.id left join clsd_lot.lot_info i on pc.lot_id = i.id where pc.lot_id=? and pc.package_id=?");

List values =new ArrayList<>();

if(StrUtil.isNotEmpty(carNo)){

sql.append(" and c.car_no=? ");

values.add(carNo);

}

StringBuilder totalRowSql =new StringBuilder("select count(*) ").append(sql);

StringBuilder findSql =new StringBuilder("select pc.*,c.car_no,i.name as lot_name").append(sql);

if(values.size() ==1){

return Db.paginateByFullSql(pageNum, pageSize, totalRowSql.toString(), findSql.toString(), lotId, packageId, values.get(0));

}else {

return Db.paginateByFullSql(pageNum, pageSize, totalRowSql.toString(), findSql.toString(), lotId, packageId);

}


jpress资料: http://www.jpress.io               源代码下载:https://gitee.com/fuhai/jpress

插件模式

JPress 插件和应用不一样的地方,只是在项目的resource下增加了一个插件的配置 addon.txt 文件,用于对此应用(或者说是插件)的描述。例如:

id:插件的唯一ID,在一个JPress应用中只能安装同一个ID的插件。建议用包名+项目名的方式进行命名

title:插件的标题或名称

description:插件的描述

author:插件的作者

authroWebsite:插件作者的官方网站

version:版本

versionCode:版本号,当该插件进行升级的时候,用对对比当前插件是否可以升级


只是在项目的resource下增加了一个插件的配置 config.txt 文件,#注释

db.type = mysql

db.url=jdbc\:mysql\://db_url\:3306/db_name?useUnicode\=true&useSSL\=false&characterEncoding\=utf8&zeroDateTimeBehavior\=convertToNull

db.user=root

db.password=pwd

db.driverClassName = "com.mysql.jdbc.Driver"

#db.connectionInitSql

db.poolName = HikariCP

db.cachePrepStmts = 1

db.prepStmtCacheSize = 500

db.prepStmtCacheSqlLimit = 2048

db.maximumPoolSize = 15

#db.maxLifetime

#db.idleTimeout

db.minimumIdle = 5

#db.sqlTemplatePath

#db.sqlTemplate

#db.factory

#db.shardingConfigYaml

#db.dbProFactory

#db.containerFactory

#db.transactionLevel

db.table=table1,table2

#此数据源包含哪些表,这个配置会覆盖@Table注解的配置

#db.exTable #该数据源排除哪些表,这个配置会修改掉@Table上的配置

#db.dialectClass

#db.activeRecordPluginClass


start 启动 多数据源修改jboot.properties 文件如下:

#Auto create by JPress

#Fri Feb 07 18:09:32 CST 2020

# jwt密钥,用于小程序等API通信(建议32位以上)

jboot.web.jwt.secret=b63dd1d001d94231b26bb9f854f8b038

# cookie的加密密钥(建议32位以上)

jboot.web.cookieEncryptKey=bvb0ac970c65422fad8f1f9f9fcc87xc

#开发dev  生产product

jboot.app.mode=dev

jboot.datasource.url=jdbc\:mysql\://localhost\:3306/db1?useUnicode\=true&useSSL\=false&characterEncoding\=utf8&zeroDateTimeBehavior\=convertToNull

jboot.datasource.type=mysql

jboot.datasource.password=root

jboot.datasource.user=root

jboot.datasource.table=table1,table2,table3

jboot.datasource.parking.url=jdbc\:mysql\://localhost\:3306/db2?useUnicode\=true&useSSL\=false&characterEncoding\=utf8&zeroDateTimeBehavior\=convertToNull

jboot.datasource.parking.type=mysql

jboot.datasource.parking.password=root

jboot.datasource.parking.user=root

jboot.datasource.parking.table=table1,table2,table3

注: parking  自定义名字



读取配置文件内容

PropKit.use("config.txt");

String domain=PropKit.get("lot.domain");


本机器IP

InetAddress address=InetAddress.getLocalHost();



Mac 命令

cd /Users/cgw/Documents/clsd_lot (项目根目录)

mvn clean install 重新编译整个项目

starter -> target 下的文件会清空

在jpress-addon-lot (插件模块目录)

运行 mvn clean install  重新编译当前的目录

mvn package  打包war

注意⚠️:

请查看下 /WEB-INF/classes 目录下是否有 jboot.porperties 和 install.lock 这两个文件,决定项目是否走初始化流程。



tomcat运行为例:日志

路径:starter-tomcat -> src -> main -> resources 下的  logbook.xml 文件配置日志输出路径。

tomcat -> bin 目录下生成日志文件lot_logs文件夹

你可能感兴趣的:(Jpress V2.0 编译、多表操作、读取配置文件)