有没有人在Jfinal中集成MyBaties,用MyBaties代替ActiveRecord
有没有人在Jfinal中集成MyBaties,用MyBaties代替ActiveRecord?
在使用JFinal中时,如果业务是和计算相关的时候,弱对象类型的Model就有些不合适了,一个好的思路是使用类似MyBaties的方式,将表映射到对象,这个对象和JFinal的Model不同的时属性是写好的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
InputStream inputStream = Resources.getResourceAsStream(resource);
Para.ssf = new SqlSessionFactoryBuilder().build(inputStream);
private BoundSql getBoundSql(String sqlId,Map<String,Object> para)
{
String tmpSqlId=Para.mybatisNameSpace.concat(".").concat(sqlId);
return Para.ssf.getConfiguration().getMappedStatement(tmpSqlId).getBoundSql(para);
}
public List<Record> getSqlData(String sqlId,Map<String,Object> para)
{
BoundSql boundSql=this.getBoundSql(sqlId, para);;
String sql=boundSql.getSql();
log.info(sql);
List<ParameterMapping> al=boundSql.getParameterMappings();
Object sqlPara[]=new Object[al.size()];
for(int i=0;i<al.size();i++)
{
ParameterMapping pm=al.get(i);
String parameterName=pm.getProperty();
sqlPara[i]=para.get(parameterName);
log.info(sqlPara[i]);
}
return Db.find(sql,sqlPara);
}
感谢,这种方法很靠谱
ActiveRecord在使用对象.属性的时候不代码提示,还得找属性名称,这点感觉比较麻烦
用自己熟悉的
ActiveRecord在使用对象.属性的时候不代码提示,还得找属性名称,这点感觉比较麻烦
建议尝试 ActiveRecord 用上三天,你会果断抛弃 MyBaties
弱对象类型跟 bean比起来 就是字段名字不好记吧
jfinal这个框架精髓就是简洁轻便极速开发。甩掉一大堆累赘的配置文件和各种框架。你这样做不是不可以,不过jfinal也仅仅是用来做个controller层而已。又回到以前ssh或者ssi的方式上来了。jfinal相当于struts或者struts2的作用。这样的话,不如直接用springmvc来做controller层,那个也不可谓不强大,而且和各种五花八门的框架集成的都非常好。
我想了想,JFinal能集成Spring而Spring能集成MyBaties,我直接用他们应该就行,从数据源开始就托管给Spring,这样应该可以,晚上试试