企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**1.UserMapper.java** ~~~ //根据用户名模糊查询 List<User> findByNameLike(String name); ~~~ **2.UserMapper.xml** **方式一,使用#{}** ~~~ <!--模糊查询--> <select id="findByNameLike" resultMap="userMapper"> select * from t_user where u_name like #{name} </select> ~~~ 测试代码 ~~~ @Test public void testFindByNameLike(){ UserMapper mapper = session.getMapper(UserMapper.class); System.out.println(mapper.findByNameLike("%no%")); } ~~~ **方式二,使用${}** UserMapper.xml ~~~ <select id="findByNameLike" resultMap="userMapper"> select * from t_user where u_name like '%${name}%' </select> ~~~ **测试代码** ~~~ @Test public void testFindByNameLike2(){ UserMapper mapper = session.getMapper(UserMapper.class); System.out.println(mapper.findByNameLike("no")); } ~~~ 小结 1\. #{}代表占位符, ${}代表字符串拼接 2\. #{}是生成预编译sql,执行效率高 3\. ${}每次都需要重新编译,效率较低 4\. #{}不会出现sql注入问题,${}会出现sql注入问题 5\. #{}可接受的参数类型相对较多.${}只能接受字符串类型.