mybatis(1)
发布时间:2010-05-30 04:50:33 文章来源:www.iduyao.cn 采编人员:星星草
mybatis(一)
MyBatis中有一个Resources通用类,类中有许多的方法可以简单地从类路径和其他地址中加载资源。简单的例子:
<configuration>
<environments default="development">
<environment id="developmnt">
<tansactionManager type="JDBC">
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybaits/example/BlogMapper.xml">
</mappers>
注意:这个xml的标题头需要一个mybatis-3-config的DTD验证文档
使用SqlSessionFactory获取SqlSession:
SqlSession session = sqlSessionFactory.openSession();
try{
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
}finally{
session.close();
}
MyBatis的SQL映射语句:
<mapper namespace="org.mybaits.example.BlogMapper">
<select id="selectBolg" parameterType="int" resultType="Bolg">
</select ></mapper >
调用上面的XML的时候我们可以使用下面的方式来使用:
Blog blog = (Blog)session.select("org.mybatis.example.BlogMapper.selectBlog",101);
我们也可以使用下列语句简单的针对Mapper接口进行调用:
BlogMapper mapper = seesion.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
这种方式的优点是不依赖于字符串,可以减少出错。如果有IDE代码自动完成功能,可以很快的导航到SQL语句,而且不需要再设定返回值类型,因为接口限定了返回值和参数。
同时还可以使用注解的方式来取代(但是觉得并不怎么好,不如写xml来的舒服):
packeg og.mybatis.example
public interface BlogMapper{
@Select("SELCT * FROM blog WHERE id = #{id}")
Blog selectBlog(int id);
}
这样用注解的方式在语句多的情况下会显得非常的杂乱
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
【IOS】高仿糗事百科客户端(基本实现了除注册,评论之外的功能)
【原创作品, 欢迎转载,转载请在明显处注明! 谢谢。
原文地址:h...
-
数独游戏(1)之绘制九宫格,并初始化数据
<数独游戏>之绘制九宫格,并初始化数据
1.在工程里的res/values目录下新建一个colors....
-
关于listview的setAdapter和notifyDataSetChanged
做了个需要更新listview的项目,在listview更新时遇到问题,抓耳挠腮半天仍未能解...
-
最完整的让cocos2d游戏适配IPAD Retina的教程
暂时在网上还没找到一个让cocos2d开发的IPhone游戏快速地适应IPAD2 Retina模式的教...
-
使用ContentObserver监听ContentProvider中数据的变化
如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,...
-
Andriod 实现可拖动列表
在做一个应用时,有一个需求,需要实现像iphone天气的城市列表界面的可拖动功能。其实android已...
-
类似APP大厅程序的实现
由于Android可以按照一定的规则,启动另外一个应用程序的Activity,并可以传递一些数据,因此下面的需求,在原则...
-
编写小程序查看CSDN博客信息(ASIHTTPRequest+TFHpple)
作为一个iOS练习,使用ASIHTTPRequest+TFHpple写了个小程序读取CSDN博客...
-
Objective-C中nil与release的区别与用法
做IOS开发的估计都对Objective-C的内存管理机制很头疼,一不小心程序就会出内存泄露...
-
联想抗衡苹果之路:用苹果的方式打败苹果?
联想教父柳传志说过,联想历史上曾经历三次生死危机,但都死里逃生,并一次次验证着“大难不...