mybatis动态设置表名
public interface UserMapper {
/***
动态设置表名,查询所有的用户信息
* @param tableName
* @return
*/
List<User> getAllUser(@Param("tableName") String tableName);
}
<!--List<User> getAllUser(@Param("tableName") String tableName);-->
<select id="getAllUser" resultType="User">
select * from ${tableName}
</select>
注意:动态设置表名时只能用$不能使用#来获取
mybatis实现添加功能获取主键自增
public interface UserMapper {
/*** 添加用户信息
* @param user
* @return
* useGeneratedKeys:设置使用自增的主键
* keyProperty:因为增删改有统一的返回值是受影响的行数,因此只能将获 取的自增的主键放在传输的参数user对象的某个属性中
*/
int insertUser(User user);
}
<!--int insertUser(User user);
useGeneratedKeys="true" 开启主键自增的功能,注意:开启此功能之前必须保证数据库支持主键自增的功能,并把主键设置为自增长
keyProperty="id" 表示将实体类(User)的id设置为自增,赋予数据库的主键字段
-->
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
insert into t_user values(null,#{username},#{password},#{age},#{sex})
</insert>
注意:添加功能获取主键自增虽然在insert标签中设置了useGeneratedKeys=“true” keyProperty="id"了,但是values()中的id必须使用null来代替,要不然就会报缺少与数据库列对应的参数