MyBatis XML 配置
首先得在 application.properties
文件中,添加配置mybatis.mapper-locations
这个配置用于指定 MyBatis Mapper XML 文件路径,一般来说这个路径和 DAO 的包路径一致。
例如:
mybatis.mapper-locations=classpath:com/example/dao/*.xml
注意:1.*
会匹配所有。2. ,MyBatis 框架会自动扫描工程下的指定的路径,并完成这个路径下所有 XML 文件的加载。
MyBatis XML Mapper
1.头信息
创建完.xml,固定格式
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2.mapper 根节点
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.ExampleDAO">
</mapper>
namespace:命名空间(一般是mapper所对应DAO接口的全称)
3.resultMap
用于处理表和 DO 对象的属性映射
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.ExampleDAO">
<resultMap id="exampleResultMap" type="com.example.dataobject.ExampleDO">
<id column="id" property="id"/>
<result column="example_name" property="exampleName"/>
</resultMap>
</mapper>
id:唯一标识,一般xxxResultMap
type:完整路径
resultMap 子节点
<resultMap id="exampleResultMap" type="com.example.dataobject.ExampleDO">
<id column="id" property="id"/>
<result column="example_name" property="exampleName"/>
</resultMap>
MyBatis XML insert 语句
<insert id="add" parameterType="com.example.dataobject.ExampleDO" >
INSERT INTO user (user_name, pwd, nick_name,avatar,gmt_created,gmt_modified)
VALUES(#{userName}, #{pwd}, #{nickName}, #{avatar},now(),now())
</insert>
id:同DAO方法名。
parameterType:用于传递参数类型。
如果想插入主键id值,配置useGeneratedKeys、keyProperty。
MyBatis XML Update/Delete 语句
Upadte
<update id="update" parameterType="com.example.dataobject.ExampleDO">
update user set nick_name=#{nickName},gmt_modified=now() where id=#{id}
</update>
delete
<delete id="delete">
delete from user where id=#{id}
</delete>
MyBatis XML Select 语句
<select id="findByUserName" resultMap="exampleResultMap">
select * from user where user_name=#{userName} limit 1
</select>