瑞蜀黍

导航

 

单表操作

修改

  1. 书写PersonDAO接口,声明修改的方法
public interfafce PersonDAO{
    /**
       参数:
        id: 条件
        其他属性:  修改的新的值
    */
    public void update(Person person);
}
  1. 在Mapper通过标签实现方法
<update id="update" parameterType="Person的全类名">
	<!--sql,要绑定的参数-->
    update t_person set name = #{name},sex =#{sex},age=#{age},mobile=#{mobile},address=#{address} where id = #{id}
</update>
  1. 注册mapper文件。[一个接口,对应一个mapper文件,注册一次]

删除

  1. 定义dao接口的方法
  2. 书写mapper文件标签
  1. 注册mapper文件。

限定参数绑定的名字

  1. 定义接口方法
public interface PersonDAO{
    public void delete(@Param("指定参数绑定使用的名字")Integer id);
}
  1. Mapper文件
<delete>
     delete from t_person where id = #{指定参数绑定使用的名字}
</delete>

查询

查询单个

  1. 书写DAO接口方法
public interface PersonDAO{
    Person selectById(Integer id);
}
  1. mapper文件实现该方法(sql 参数 对查询结果映射实体对象)

核心: sql 参数

映射核心思想:

如果查询结果的列名和要封装的实体的属性名一样,将查询结果自动封装实体对象。

<select id="selectById" parameterType="java.lang.Integer" resultType="查询结果的一行数据映射的实体对象类型">
	select id,name,sex,age,mobile,address from t_person where id = #{id}
</select>

  1. 注册mapper文件
ResultType的作用

作用: 映射查询结果的列封装成实体的属性

要求: 查询结果的列名必须和实体的属性名一致

表列名和实体属性名不一致

通过sql 的as关键字,其别名方式,使查询结果的列名和实体的属性名一致。

查询多个

只需要明确单行数据映射的实体类型,

MyBatis会自动讲每个数据封装的每个实体放入list集合中。

  1. 书写DAO接口方法
public interface PersonDAO {
	List<Person> selectAll();
}
  1. 书写mapper文件中的标签
<select id="selectAll" resultType="rs的一行数据映射实体类型">
	select id,name,sex,age,mobile,address from t_person
</select>
  1. 注册mapper文件

多个参数(基本,包装,String)

方案一:

@Param给接口方法的参数起别名

public interface UserDAO {
	User selectByUsernameAndPassword(@Param("username")String username,@Param("password")String password);
}
select id,username,password from t_user where username = #{username} and password = #{password}

方案二:

绑定参数通过#{参数的序号从0开始}

MyBatis的Mapper文件的sql书写 >或者 <

问题: 会发生转义

解决: 替换成转义字符

posted on 2020-05-28 15:23  瑞蜀黍  阅读(77)  评论(0)    收藏  举报