tips:
①count(*):总记录数 count(age):若age字段有一个数据为null,那么记录数为count(*)-1
②若sql语句查询的结果为多条时,一定不能以实体类类型作为方法的返回值否则会抛出异常TooManyResultsException
若sqL语句查询的结果为1条时,此时可以使用实体类类型或List集合类型作为方法的返回值
③resultType中写转换为的类型的别名
④查询的类无实体类时需转换为一个map集合
⑤查询数据转换为map集合需写作List<map< , >>或直接写作map< , >然后添加@MapKey()注解(放到一个大map中)来设置键
⑥模糊查询三种写法:select * from t_user where username like ‘%${ mohu }%'
select * from t_user where username like concat( '% ' ,#{ mohu} , '%')
select* from t_user where username like"%"#{mohu}"%"
⑦两个完全相同的表,用户不同查询的表就不同,因此表名要动态设置
List<User> getuserList(@Param("tableName" ) string tableName);
<select id="getUserList" resultType="User">
select * from ${tableName}
</select>
⑧新增数据并获取id自增长的主键//外键约束存在时使用
useGeneratedKeys:表示当前添加功能使用自增的主键
keyproperty:将添加的数据的自增主键为实体类类型的参数的属性赋值
<! --id insertUser(User user) ;-->
<insert id="insertuser" useGeneratedKeys="true" keyProperty="id">
insert into t_user values(null,#{username} , #{password},#{age})
</insert>
网友评论