如何用Jfinal连接多个数据库
ActiveRecordPlugin可以支持多个数据库,多个语言,我们只需要添加多个ActiveRecordPlugin,分别配置即可。
Jfinal连接多个数据库
1.添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.0.12.jar分别用于连接sqlserver及mysql数据库。
com.microsoft.sqlserver mssql-jdbc 7.4.1.jre8 test mysql mysql-connector-java 8.0.12
2.添加数据库配置文件
datasource.properties:
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbcUrl=jdbc:sqlserver://localhost;Database=test user=sa password=123456 devMode=true jdbcUrl2=jdbc:mysql://localhost/test?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT user2=root password2=123456 devMode2=true
3.配置configPlugin
publicvoidconfigPlugin(Pluginsme){ //连接sqlserver数据库 C3p0Pluginc3p0Plugin=newC3p0Plugin(getProperty("jdbcUrl"),getProperty("user"),getProperty("password"),getProperty("driver")); me.add(c3p0Plugin); //给数据源添加别名sqlserver ActiveRecordPluginarp=newActiveRecordPlugin("sqlserver",c3p0Plugin); //添加sqlserver方言SqlServer方言在jfinal2.0以上才引入 arp.setDialect(newSqlServerDialect()); me.add(arp); //连接mysql数据库 C3p0Pluginc3p0Plugin2=newC3p0Plugin(getProperty("jdbcUrl2"),getProperty("user2"),getProperty("password2")); me.add(c3p0Plugin2); //给数据源添加别名mysql ActiveRecordPluginarp2=newActiveRecordPlugin("mysql",c3p0Plugin2); //添加mysql方言 arp2.setDialect(newMysqlDialect()); me.add(arp2); }
JFinal的方言仅用于Model的save()、update()、delete()等等由框架生成sql的方法,而开发者自由传入的sql框架并不会干预,这通常是在使用find()、query()、paginate()之类需要传入sql的方法。
JFinal默认方言为mysql的,如果不配置方言用Model中的方法会出莫名其妙的问题。
ActiveRecordPlugin提供了MysqlDialect、SqlServerDialect、OracleDialect、Sqlite3Dialect、AnsiSqlDialect实现类,来支持mysql、sqlserver、oracle、sqlite3、ANSI等数据库的支持。
4.使用
//查询sqlserver的test表 Listrs=Db.use("sqlserver").find("select*fromtest"); //查询mysql的test表 List rs1=Db.use("mysql").find("select*fromtest");
以上就是如何用Jfinal连接多个数据库的详细内容,更多关于Jfinal连接多个数据库的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。