spring boot(8)-mybatis三种动态sql

脚本sql

XML配置方式的动态SQL我就不讲了,有兴趣可以自己了解,下面是用") public List findUserById(User user);
很明显,在java中写xml可读性和维护性太差,尤其当SQL很长时,这样写是很痛苦的。

在方法中构建sql

dao接口中是不能写实现的,所以这里借用内部类来生成动态SQL。增改删也有对应的@InsertProvider、@UpdateProvider、@DeleteProvider
@Mapper
public interface MybatisDao {
	//使用UserDaoProvider类的findUserById方法来生成sql
	@SelectProvider(type = UserDaoProvider.class, method = "findUserById")
	public List findUserById(User user);
	
	class UserDaoProvider {
		public String findUserById(User user) {
			String sql = "SELECT * FROM user";
			if(user.getId()!=null){
				sql += " where id = #{id}";
			}
			return sql;
		}
	}
这比

你可能感兴趣的:(Spring,Boot,spring,boot,mybatis,动态sql,script)