一.基本操作
1. 需求:给数据库增加一个用户
<insert id="saveUser" parameterType="com.itheima.domain.User">
<!--配置插入操作后,获取插入数据的id-->
<selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
select last_insert_id();
</selectKey>
insert into user(username,address,sex,birthday) values(#{username},#{address},#{sex},#{birthday});
</insert>
2. 需求:根据id删除一个用户
<!--删除用户-->
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where id=#{userId};
</delete>
3. 需求:更新用户的信息
<!--更新用户-->
<update id="updateUser" parameterType="com.itheima.domain.User">
update user set username=#{username},address=#{address},sex=#{sex},birthday=#{birthday} where id=#{id};
</update>
4. 需求:根据id查询用户
<!--查询用户-->
<select id="findById" parameterType="Integer" resultType="com.itheima.domain.User">
select* from user where id=#{userId};
</select>
5.需求:根据用户name模糊查询
<!--模糊查询用户-->
<select id="findByName" parameterType="String" resultType="com.itheima.domain.User">
select* from user where username like #{name};
</select>
6.需求:获取用户总记录条数
<!--根据QueryVo中的查询条件查询用户-->
<select id="findUserByVo" parameterType="com.itheima.domain.QueryVo" resultType="com.itheima.domain.User">
select* from user where username like #{user.username};
</select>
二. 使用注解开发CRUD操作
1. @select ()
//查询所有用户
@Select("select* from user")
List<User> findAll();
//根据id查询用户
@Select("select* from user where id=#{id}")
void findById(Integer userId);
//根据用户名称模糊查询
@Select("select* from user where username like=#{username}")
List<User> findByName(String username);
2.@update ()
//更新用户
@Update("update user set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id = #{id}")
void updateUser(User user);
3.@Insert ()
//保存用户
@Insert("insert into user (id,username,sex,birthday,address) values (#{id},#{username},sex=#{sex},birthday=#{birthday},address=#{address})")
int saveUser(User user);
4.@delete ()
//根据id删除用户
@Delete("delete from user where id = #{id}")
void deleteUser(Integer userId);
注意:利用注解来映射简单语句会使代码显得更加简洁,开发也不再需要mapper.xml映射文件,但是对于稍微复杂一点的sql语句,这些注解就力不从心了,甚至还会更加混乱。因此,开发时最好还是使用XML来映射语句,简单的可以使用注解。