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);
}
这样用注解的方式在语句多的情况下会显得非常的杂乱
<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);
}
这样用注解的方式在语句多的情况下会显得非常的杂乱