MyBatis代理Dao方式CRUD操作详解 一、查询所有用户// UserMapper接口 public ListUser findAll(); !-- UserMapper.xml -- select idfindAll resultTypecom.qcbyjy.domain.User select * from user /select二、根据ID查询用户public User findById(Integer userId); select idfindById resultTypecom.qcbyjy.domain.User parameterTypeint select * from user where id #{id} /select注意SQL语句中使用 #{占位符名称}名称可以任意适用于基本数据类型和String类型。三、插入用户保存操作public void insert(User user); insert idinsert parameterTypecom.qcbyjy.domain.User !-- 配置主键返回 -- selectKey keyPropertyid orderAFTER resultTypejava.lang.Integer select last_insert_id() /selectKey insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}) /insertselectKey 标签说明keyProperty要返回的属性名称orderAFTER插入数据后的行为resultType返回值的类型四、修改用户public void update(User user); update idupdate parameterTypecom.qcbyjy.domain.User update user set username #{username},birthday #{birthday}, sex #{sex},address #{address} where id #{id} /update五、删除用户public void delete(Integer userId); delete iddelete parameterTypeInteger delete from user where id #{id} /delete六、模糊查询public ListUser findByName(String username); 方式一推荐使用 #{} 占位符调用时传入 % 通配符 select idfindByName resultTypecom.qcbyjy.domain.User parameterTypestring select * from user where username like #{username} /select方式二不推荐使用 ${value} 拼接select idfindByName resultTypecom.qcbyjy.domain.User parameterTypestring select * from user where username like %${value}% /select七、查询总记录数public Integer findByCount(); select idfindByCount resultTypeint select count(*) from user /select八、#{} 与 ${} 的区别特性#{}{}底层实现PreparedStatementStatementSQL注入有效防止存在风险类型转换自动进行java类型和jdbc类型转换不进行类型转换简单类型值括号中可以是value或其它名称括号中只能是value推荐度推荐使用不推荐