当前位置: 首页 > news >正文

永州网站建设gwtcms上海百度推广电话客服

永州网站建设gwtcms,上海百度推广电话客服,电子商务网站建设工具,黑龙江省道路建设网站文章目录一.Map的使用和模糊查询的需求实现及其防SQL注入优化1.1 Map的使用1.2 模糊查询的实现1.2.1 防SQL注入优化1.2.2 总结一.Map的使用和模糊查询的需求实现及其防SQL注入优化 1.1 Map的使用 替换之前的根据ID查询信息: 1.编写接口: User getUse…

文章目录

  • 一.Map的使用和模糊查询的需求实现及其防SQL注入优化
    • 1.1 Map的使用
    • 1.2 模糊查询的实现
      • 1.2.1 防SQL注入优化
      • 1.2.2 总结

一.Map的使用和模糊查询的需求实现及其防SQL注入优化

1.1 Map的使用

替换之前的根据ID查询信息:

1.编写接口:

User getUserById2(Map<String,Object> map);

2.编写对应的mapper对应的sql语句:

<select id="getUserById2" parameterType="map" resultType="com.zhu.pojo.User">select * from mybatis.user where id = #{helloid} and name = #{name};
</select>

3.编写测试类:

@Test
public void getUserById2(){SqlSession sqlSession = Mybatisutils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);Map<String, Object> map = new HashMap<String, Object>();map.put("helloid",2);mapper.getUserById2(map);sqlSession.close();
}

以增加用户为例:

1.编写接口:

int addUser2(Map<String,Object> map);

2.编写对应的mapper对应的sql语句:

<insert id="addUser2" parameterType="map" >insert into  mybatis.user (id,name,pwd) values (#{Userid},#{Username},#{Userpwd});
</insert>

3.编写测试类:

@Test
public void addUser2(){SqlSession sqlSession = Mybatisutils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);Map<String, Object> map = new HashMap<String, Object>();map.put("Userid",5);map.put("Username","34234234");map.put("Userpwd","你好");mapper.addUser2(map);sqlSession.close();
}

Map 传递参数, 直接在 sql 中取出 key 即可!【parameter Type=“map”】

对象传递参数, 直接在 sql 中取对象的属性即可!【parameter Type=“Object”】

只有一个基本类型参数的情况下, 可以直接在 sql 中取到!

多个参数用 Map, 或者注解!

1.2 模糊查询的实现

在sql中,可以根据某些特定的条件进行模糊查询,比方说要查找咦某个字母开头的昵称,或者一组类似的数据等。我们用字段like表示相似,来进行模糊查询。
在模糊查询中,%表示任意字符,_表示一个字符。

1.先看sql里的数据:

image-20230326131659606

2.编写接口:

List<User> getUserLike(String name);

3.编写SQL模糊语句查询:

<select id="getUserLike" resultType="com.zhu.pojo.User">select * from mybatis.user where name like #{value};
</select>

4.编写测试类:

@Test
public void getUserLike(){SqlSession sqlSession = Mybatisutils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userLike = mapper.getUserLike("%猪%");for (User user : userLike) {System.out.println(user);}

运行结果如下:

image-20230326131822998

1.2.1 防SQL注入优化

比如在平时的模糊查询中,有用户输入了 1 or 1=1 ,这样就会把整个表爆出。

为了防止这种情况,我们理应直接在XML里规定其SQL语句的规范。

<select id="getUserLike" resultType="com.zhu.pojo.User">select * from mybatis.user where name like "%"#{value}"%";
</select>

那么测试类里的代码:

List<User> userLike = mapper.getUserLike("猪");

依然可以正常的模糊查询:

image-20230326132125285

1.2.2 总结

  1. Java 代码执行的时候,传递通配符%%
  2. 在 sql 拼接中使用通配符!
http://www.wooajung.com/news/21372.html

相关文章:

  • 如何改进网站软文营销代理
  • 做海报的网站有哪些目前最新的营销模式有哪些
  • 杭州网站推广方案平台关键词分类
  • 北京国贸网站建设上海网站营销推广
  • 网站广告代码检测网站seo优化怎么做
  • 品牌网站推广网站建设培训
  • 专业建设网站服务指数
  • 网页版梦幻西游辅助工具seo优化技术培训
  • 云服务器放网站快么微博营销推广策划方案
  • 电子元件做的比较好的网站湖人最新排名最新排名
  • 播放我的观看历史记录搜索引擎关键词怎么优化
  • 南宁网站建设哪家公司实专注网站建设服务机构
  • 无锡制作网站价格表广州最新政策
  • 企业网站排名要怎么做搜索引擎优化seo公司
  • 多用户网站建设方案新闻稿发布平台
  • 网站做等保三级建设站优化
  • 网站建设和数据库维护千锋教育地址
  • 苏州吴江做网站公司江西seo推广方案
  • 如何制作网站链接著名的网络营销案例
  • wordpress简约红主题苏州网站seo优化
  • 白银网站建设公司网络营销专业怎么样
  • 电脑网站显示安全证书有问题怎么解决网络外包
  • 做网站空间哪个好电商网站入口
  • 宁波公司建网站哪家永久8x的最新域名
  • 信息管理网站开发实验体会广州网站优化方案
  • 交友网站可以做微信朋友圈吗百度关键词排名点击器
  • 最专业的网站制作公司网站推广外贸
  • 图形设计网站最新疫情新闻100字
  • 静态企业网站下载百度人工服务热线电话
  • 公司网站建设开发维护工作seo网站优化案例