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

永州网站建设gwtcms深圳seo排名

永州网站建设gwtcms,深圳seo排名,新疆找人做网站多少钱,企业网站设计哪家好文章目录一.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.tj-hxxt.cn/news/47103.html

相关文章:

  • 苏州保洁公司武汉网站seo推广
  • ppt在线制作一键生成福州百度推广优化排名
  • 资阳网站建设山西百度查关键词排名
  • 网站怎么描述百度友情链接
  • 中国十大设计素材网站网络推广计划方案
  • wordpress建站时间网页分析报告案例
  • 网站制作自己静态网站开发
  • 中国商标查询网官网seo技术培训东莞
  • 2018做网站赚钱不seo关键词排名价格
  • 在地区做网站怎么赚钱教育培训机构加盟十大排名
  • 江门自助建站模板小时seo百度关键词点击器
  • 怎么在网站做推广seo优化方案模板
  • 烟台做网站的网站广告投放价格表
  • 建设监理杂志网站谷歌地球
  • 深圳网站论坛建设百度搜索引擎排名
  • 网站标题是什么互联网域名注册查询
  • 西安做网站收费价格网站seo服务商
  • 怎么寻找要建设网站的客户群seo是哪个英文的缩写
  • 移动网站怎么登录抖音的商业营销手段
  • 青岛建设工程信息网官网广州宣布5条优化措施
  • 睢宁网站建设西安seo主管
  • asp.net做报名网站推销一个产品的方案
  • 派出所网站免费源代码怎么用网络推广
  • 单位门户网站怎么做二级子域名ip地址查询
  • 品牌官网建设内容百度快照怎么优化排名
  • 自贡百度做网站多少钱最近国际新闻大事20条
  • wordpress 教育海外网站seo优化
  • 个人做网站能赚到钱吗合肥网站优化seo
  • 什么网站免费建设营销型网站建设的重要原则
  • 在线涨粉平台汉中网站seo