1、引用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2、namespace务必和接口的全类名一致 (全类名=包名+类名)
<mapper namespace="com.cy.mybatis.mapper.UserMapper">
3、自定义返回结果集
<!-- id:返回的是所有对象的Map集合,type:每个对象是User类 -->
<resultMap id="userMap" type="User">
<!--id表示主键字段,property:User类中的属性,column:数据表中的字段,javaType:Use类中属性的类型 -->
<!--result表示对象的任何一个属性字段-->
<id property="id" column="id" javaType="java.lang.Integer"></id>
<result property="username" column="username" javaType="java.lang.String">
</result>
</resultMap>
4、增加数据
<!-- useGeneratedKeys:(仅对insert有用),作用:取出由数据库表内部生成的主键值。默认值: false。
比如:数据库管理系统的自动递增字段)-->
<!-- keyProperty: (仅对insert有用)作用:用来标记一个属性,MyBatis 会设置它的值。默认:不设置。
配合useGeneratedKeys使用,单独使用一个取的值为null -->
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
insert into user (username,password,account) values (#{username},#{password},#{account})
</insert>
5、其他名字解释
1、在各种标签中的id属性必须和接口中的方法名相同 , id属性值必须是唯一的,不能够重复使用。
2、 parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
3、#{ }中的内容,为占位符,当参数为某个JavaBean时,表示放置该Bean对象的属性值
<update id="updateUser" >
update user set username=#{username},password=#{password},account=#{account} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
<select id="selectUserById" parameterType="int" resultMap="userMap">
select * from user where id=#{id}
</select>
<select id="selectAllUser" resultMap="userMap">
select * from user
</select>
</mapper>