跟我这样做,就可以直接在Jfinal的main函数中直接使用dao和Db,操作mysql.

背景:哎,项目要用MUI,开发微信,里面有个省市区,可惜,咱数据库的城市ID,和通用的MUI的城市JSON,不一样。我数据库是老数据,北京ID为1,MUI的北京ID是110000,没办法,按标准走吧,于是得解析city.data.js里JOSN字符串,批量插入的我数据库的城市表(补一刀,MUI的城市jSON不对,有重复的脏数据);

List<JSONObject> provinces = JSONArray.parseArray(IOUtils.toString(App.class.getClassLoader().getResourceAsStream("city.txt")), JSONObject.class);


想在main方法里,直接用dao或Db的前提,就是你得启动DruidPlugin和ActiveRecordPlugin插件,让它们start()起来,所以很简单。直接粘代码吧:

 public static void startPlugin() {
		PropKit.use("config_jdbc.txt");
		DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
		ActiveRecordPlugin arp = new ActiveRecordPlugin("mysql",druidPlugin);
		_MappingKit.mapping(arp);
		
		druidPlugin.start();
		arp.start();
	}

然后再main方法里:

 public static void main( String[] args ) {  
    	startPlugin();
    	System.out.println(Db.queryStr("select 'nihao' from dual"));
    }

结果:

blob.png

打完收工,我知道很简单,有些朋友会,只是希望对其他朋友一些帮助。谢谢。

评论区

JFinal

2017-03-18 09:52

简单粗暴,就是这么玩的,赞一个

wendell620

2017-03-22 09:41

@JFinal 安卓端是不是也可以这么用?

要输就输给追求

2017-03-22 19:00

其实解析json数据,插入数据库可以在afterJFinalStart()这个方法里面干

韦甩甩

2017-03-24 10:52

@要输就输给追求 嗯,也对,其实我只是不想启动tomcat,就用偶尔jdbc一下,更项目导写客户基础数据。

火星人

2017-04-27 19:05

直接mian外面一个静态代码块就可以了,启动main时会自动调用

地狱里的帅灵魂

2017-08-12 19:50

_MappingKit.mapping(arp); _MappingKit实在那个包啊,没找到

地狱里的帅灵魂

2017-08-12 19:54

@地狱里的帅灵魂 找了下demo看到了,这是自定义类受教了

JFinal

2017-08-12 23:22

@地狱里的帅灵魂 _MappingKit 是生成器自己生成的,不用自己手写,生成器在 jfinal demo 里面有,运行一下里面的 main 方法就生成了 _MappingKit

peefau

2018-09-15 16:57

谢谢题主,帮助到我了。

热门分享

扫码入社