怒江北京网站建设,潍坊学网站建设,wordpress要不要付费,学习网站网址大全MyBatis 的XML实现方法 MyBatis 的XML实现方法前情提示创建mapper接口添加配置创建xml文件操作数据库insert标签delete标签select标签resultMap标签 update标签sql标签,include标签 MyBatis 的XML实现方法 前情提示
关于mybatis的重要准备工作,请看MyBatis 的注解实现方法
创… MyBatis 的XML实现方法 MyBatis 的XML实现方法前情提示创建mapper接口添加配置创建xml文件操作数据库insert标签delete标签select标签resultMap标签 update标签sql标签,include标签 MyBatis 的XML实现方法 前情提示
关于mybatis的重要准备工作,请看MyBatis 的注解实现方法
创建mapper接口
package com.example.demo.mapper;import com.example.demo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;import java.util.List;Mapper
public interface UserInfoXMLMapper {ListUserInfo selectAll();ListUserInfo selectAll2();Integer insert(UserInfo userInfo);Integer DeleteByID(Integer id);Integer Update(UserInfo userInfo);ListUserInfo selectAllBYOrder(String sort);
}添加配置
mybatis:configuration:map-underscore-to-camel-case: truemapper-locations: classpath:mapper/**Mapper.xmlmapper-locations: classpath:mapper/**Mapper.xml中的mapper表示resources下的包,Mapper.xml表示mapper下的以Mapper.xml结尾的文件
创建xml文件
在resources下创建mapper包,在mapper下创建以Mapper.xml结尾的文件 创建完成之后,在文件中,添加一些代码
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.example.demo.mapper.UserInfoXMLMapper
/mapper图中需要填写的是之前创建的mapper接口的全限定类名加方法名
操作数据库
xml中的标签对应前面mapper接口中定义的方法
insert标签 insert idinsertinsert into userinfo(username,password,age,gender)values(#{username},#{password},#{age},#{gender})/insertdelete标签 delete idDeleteByIDdelete from userinfo where id#{id}/deleteselect标签 select idselectAll resultTypecom.example.demo.model.UserInfoselect * from userinfo/select这里的resultType也是全限定类名 这里也存在注解中存在的问题,数据格式不同 使用下面的标签即可解决
resultMap标签 resultMap idxmlBaseMap typecom.example.demo.model.UserInfoid columnid propertyid/idresult columndelete_flag propertydeleteFlag/resultresult columncreate_time propertycreateTime/resultresult columnupdate_time propertyupdateTime/result/resultMapselect idselectAll2 resultMapxmlBaseMapselect * from userinfo/selectupdate标签 update idUpdateupdate userinfo set age#{age} where username#{username}/updatesql标签,include标签
将一些重复率过高的代码通过sql标签包裹起来 使用时通过include来调用 sql idbaseSelectselect * from userinfo/sqlselect idselectAllBYOrder resultMapxmlBaseMapinclude refidbaseSelect/includeorder by id ${sort}/select