xml版本信息和mybatis对mapper的dtd约束
<!-- xml版本信息 -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- mybatis对mapper的dtd约束条件 -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
映射根元素mapper
属性namespace
指向接口全限定名
mapper的xml映射文件
<!-- namespace属性必须是接口的全限定接口名 -->
<mapper namespace="cn.dy.mapper.UserMapper">
<!-- id属性值必须和接口中的方法名相同 -->
<!-- resultType属性值必须是pojo的全限定接口名 -->
<!-- parameterType属性值必须是方法参数的全限定接口名 -->
<!-- sql中的参数以 #{pojo中的属性名} 的形式传递-->
<select id="findUserById" resultType="cn.dy.pojo.User" parameterType="java.lang.Integer">
SELECT username,birthday,sex,address FROM user WHERE id = #{id}
</select>
<!-- 这里在添加后返回主键id -->
<!-- keyColumn为数据库中的列名 -->
<!-- keyProperty为pojo中的属性名 -->
<!-- order 取值:AFTER,BEFORE;AFTER:添加后返回,BEFORE:添加前返回(有可能导致id错误) -->
<insert id="addUser" parameterType="cn.dy.pojo.User">
INSERT INTO user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
<selectKey resultType="java.lang.Integer" keyColumn="id" keyProperty="id" order="AFTER">
select last_insert_id()
</selectKey>
</insert>
</mapper>
基础
增
```
### 删
``` XML
改
```
### 查
``` XML
参数深入
使用组合代替继承的方式来解决多表的问题
返回值结果集的封装(用来解决数据库列名与pojo实体类属性不一致的情况)
方式一
sql语句中起别名
方式二
使用resultMap映射数据库中的列名
<mapper namespace="cn.dy.mapper.UserMapper">
<!-- resultMap标签用来封装结果集,id的值为自己起的名字,type的值为要映射的实体类的全限定名 -->
<resultMap id="userMap" type="cn.dy.pojo.User">
<!-- property 为实体类中的属性名 -->
<!-- column 为数据库中的列名 -->
<!-- id 用来映射主键 -->
<id property="" column="" ></id>
<!-- result 用来映射其它数据 -->
<result property="" column=""></result>
</resultMap>
<!-- resultMap的值为上方自己定义的名字 -->
<select id="findAll" resultMap="userMap">
SELECT id,username,birthday,sex,address FROM user
</select>
</mapper>