36_使用sql定义可复用的SQL片段
update元素与@Update注解、delete元素和@Delect注解
<update …/>元素通常用于定义一条update语句。
<delete …/>元素通常用于定义一条delete语句。
需要指定如下一个关键属性:
- id :SQL语句的唯一标识。需要与Mapper接口的方法名相同。
这两个元素还支持大量的额外属性,如果使用@Update、@Delete注解,需要配置@Options注解来指定这些额外的属性。
定义可复用的SQL片段
在XML Mapper文件中定义的多条SQL语句有相同的部分,此时考虑将这些相同的部分抽取出来,定义成可复用的片段。
(1)使用<sql…/>元素来定义可复用的SQL片段
其中可使用${}来定义属性
(2)使用<include…/>元素来引用可复用的SQL片段
此时可通过<property…/>元素来传入属性值
项目0413定义可复用的SQL片段
主类
package lee;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.itcheng.app.dao.NewsMapper;
import org.itcheng.app.domain.News;
public class NewsManager
{
// SqlSessionFactory应该是应用级别
private static SqlSessionFactory sqlSessionFactory;
public static void main(String[] args) throws IOException
{
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 1. 创建SqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build