Enjoy SQL 模板 问题,如何定义表名,数据库名,如何使用?

image.png

如 dbname,和 tablename 怎么 定义?怎么使用,数据库是sqlserver

评论区

doubuxingle

2019-11-08 15:54

一般情况下 直接简写成tablename ,这样使用默认的dbname=dbo。

kevinzhaoyp

2019-11-08 15:57

@doubuxingle 多数据库,需要跨库查询 数据库名是 个变量

kevinzhaoyp

2019-11-08 15:58

public static String sjjdList(String dbName, String zcbfid) {
return "select dgnd as id,''as pid,dgnd+'年度'as [text],dgnd from [" + dbName + "]..sjjd where zcbfid='" + zcbfid + "' group by dgnd " +
"union all " +
"select code,left(code,len(code)-3) as pcode,jdmc,dgnd from [" + dbName + "]..sjjd where zcbfid='"+ zcbfid +"' " +
"order by id";
}

之前 是这样写的,我想使用 Enjoy SQL 模板

doubuxingle

2019-11-08 16:06

那你直接把dbName也当成变量传到模板里不就可以了
List list = Db.template('xxx',Kv.by('dbName','value1').set('zcbfid','value2')).find()

SQL:select * from [#(dbName)].[table] where zcbfid=#para(zcbfid)

大致就是这样,和传递的普通参数一样

kevinzhaoyp

2019-11-08 16:17

@doubuxingle 可以,谢谢。Db.template('xxx',Kv.by('dbName','value1').set('zcbfid','value2')) 这个,如果是参数多怎么使用呀?

kevinzhaoyp

2019-11-08 16:26

@doubuxingle 大概会使用了。谢谢。我是新手,刚开始学习。

JFinal

2019-11-08 16:49

@kevinzhaoyp 稍微看一下文档就会用了,sql 模板只提供了 #para、#sql、#namespace 三个指令,可以搞定大部分问题

需要其它功能的时候,可以直接使用 enjoy 已有的功能,因为 sql 模板是 enjoy 引擎实现的,用上文档中介绍的 enjoy 用法即可:
https://www.jfinal.com/doc/6-1

注意文档中强调的:
立即掌握 90% 的用法,只需要记住一句话:JFinal 模板引擎表达式与 Java 是直接打通的