2024-10-30 15:53

以下方法试了不行,才来问一下,以下是我的方法
在JFinal 3.6中连接第二套数据库,需要按照以下步骤进行操作:

1. 配置数据库连接信息
首先,你需要在项目的配置文件中添加第二套数据库的连接信息。通常,JFinal项目的配置文件是config.txt或JFinalConfig类中的configConstant方法。

使用config.txt配置文件
在config.txt中添加第二套数据库的连接信息:

# 第一套数据库配置
db.url=jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=utf8
db.user=root
db.password=root
db.driverClass=com.mysql.jdbc.Driver

# 第二套数据库配置
db2.url=jdbc:mysql://localhost:3306/db2?useUnicode=true&characterEncoding=utf8
db2.user=root
db2.password=root
db2.driverClass=com.mysql.jdbc.Driver
使用JFinalConfig类配置
在JFinalConfig类的configConstant方法中添加第二套数据库的连接信息:

public void configConstant(Constants me) {
loadPropertyFile("config.txt");
me.setDevMode(getPropertyToBoolean("devMode", false));

// 第一套数据库配置
DruidPlugin dp1 = new DruidPlugin(getProperty("db.url"), getProperty("db.user"), getProperty("db.password"), getProperty("db.driverClass"));
me.add(dp1);

// 第二套数据库配置
DruidPlugin dp2 = new DruidPlugin(getProperty("db2.url"), getProperty("db2.user"), getProperty("db2.password"), getProperty("db2.driverClass"));
me.add(dp2);
}
2. 创建数据库连接池
在JFinalConfig类的configPlugin方法中创建第二套数据库的连接池:

public void configPlugin(Plugins me) {
// 第一套数据库连接池
ActiveRecordPlugin arp1 = new ActiveRecordPlugin("db1", dp1);
me.add(arp1);
// 注册模型类
arp1.addMapping("user", User.class);

// 第二套数据库连接池
ActiveRecordPlugin arp2 = new ActiveRecordPlugin("db2", dp2);
me.add(arp2);
// 注册模型类
arp2.addMapping("product", Product.class);
}
3. 创建模型类
为第二套数据库创建相应的模型类,并在模型类中指定使用的数据库连接池名称:

public class Product extends Model {
public static final Product dao = new Product().dao();

// 指定使用第二套数据库连接池
public Product() {
setDbKey("db2");
}
}
4. 使用模型类进行数据库操作
现在你可以使用模型类进行第二套数据库的操作:


public class ProductController extends Controller {
public void index() {
List products = Product.dao.find("select * from product");
renderJson(products);
}
}