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

自己网站做问卷调查公司seo

自己网站做问卷调查,公司seo,网站建设类型有哪些方面,栗田工业大连有效公司网站哪年做的目录 一. ORM编程思想 1. 简介 2. 实操ORM思想 a. Students实体类 b. ORM映射 二. SQL注入 1. 简介 2. 解决SQL注入 三. 总结 前言 本文来讲解ORM编程思想和SQL注入,旨在帮助大家更容易的理解和掌握 个人主页:艺杯羹 系列专栏:JDBC …

目录

一. ORM编程思想

1. 简介

2. 实操ORM思想

a. Students实体类

b. ORM映射

二. SQL注入

1. 简介

2. 解决SQL注入

三. 总结


前言

本文来讲解ORM编程思想和SQL注入,旨在帮助大家更容易的理解和掌握

个人主页:艺杯羹

系列专栏:JDBC

一. ORM编程思想

1. 简介

这是一种思想,对象关系映射(英语:Object Relational Mapping,简称ORM,或O/R mapping)是一种为了解决面向对象语言与关系数据库存在的互不匹配的现象

这个思想就是要求:

  1. 表与所创建的类要对应
  2. 表的一个字段和类中一个属性一一对应
  3. 表的一行数据和类的一个对象对应

实体类

实体类就是一个定义了属性,拥有getter、setter、无参构造方法(基本必备)的一个类。实体类可以在数据传输过程中对数据进行封装,相当于一个“工具”、“容器”、“载体”,能存储、传输数据,能管理数据

特点分类具体描述
类名实体类名尽量和数据库中的表名一一对应
属性与字段实体类中的属性对应数据库表中的字段,相关的命名最好也一一对应
方法实体类内方法主要有 getter、setter 方法,用于设置、获取数据
访问修饰符实体类属性一般为 private 类型,方法为 public 类型
构造方法实体类应该有无参、有参构造方法

关系图如下:

2. 实操ORM思想

a. Students实体类

// 实体类,存放Users表中的数据
public class Students {private int studentid;private String studentname;private int studentage;public int getStudentid() {return studentid;}public void setStudentid(int studentid) {this.studentid = studentid;}public String getStudentname() {return studentname;}public void setStudentname(String studentname) {this.studentname = studentname;}public int getStudentage() {return studentage;}public void setStudentage(int studentage) {this.studentage = studentage;}
}

b. ORM映射

public List<Students> selectAllStu(){Connection connection = null;PreparedStatement ps = null;ResultSet rs = null;List<Students> list = new ArrayList<>();try{// 获取数据库连接connection = JdbcUtils.getConnection();// 创建PreparedStatement对象ps = connection.prepareStatement("select * from students");// 执行查询rs = ps.executeQuery();// 操作ResultSet对象获取查询的结果集while(rs.next()){// 获取列中的数据int studentid = rs.getInt("studentid");String studentname = rs.getString("studentname");int studentage = rs.getInt("studentage");// ORM映射处理Students student = new Students();student.setStudentid(studentid);student.setStudentname(studentname);student.setStudentage(studentage);list.add(student);}}catch (Exception e){e.printStackTrace();}return list;}

测试

ResultSetTest tst = new ResultSetTest();
List<Students> students = tst.selectAllStu();
for(Students student : students){
System.out.println(student.getStudentid()+" "+student.getStudentname()+" "+student.getStudentage());
}

 

二. SQL注入

1. 简介

所谓 SQL 注入,就是通过把含有 SQL 语句片段的参数插入到需要执行的 SQL 语句中,
最终达到欺骗数据库服务器执行恶意操作的 SQL 命令

这种情况会导致数据泄露的风险,如果是登录账号,被使用sql注入攻击,那么就会导致数据泄露
这里我那statement来举个例子

这是一个用户登录查询的sql语句

// 在Statement里
String sql = 
"SELECT * FROM users WHERE username = '"+username+"' AND password = '"+password+"'"

如果攻击者,输入如下内容
' OR '1'='1' --
那么就会有数据泄露的风险,为什么?现在我们看看源代码

// 这里的意思就变成名字是一直都是为真的
// 并且后面使用 -- 这个符号将密码注释掉了
// 这样就出现了SQL注入
SELECT * FROM users WHERE username = '' OR '1'='1' --' AND password = '任意值';

2. 解决SQL注入

就像之前的文章提到的,为什么使用Statement会出现SQL注入,就是这个原因
如何去解决呢,就是用PrepareStatement
因为prepareStatement会先用?来占位,就能够防止SQL注入

三. 总结

到此,就讲解完了ORM编程思想和SQL注入,相信你能够很好的理解了
希望本文能够帮助到你😊

http://www.dtcms.com/wzjs/272722.html

相关文章:

  • 网站建设的指标seo技术团队
  • wordpress 不用插件代码高亮江苏关键词推广seo
  • 制作网站代码搜索引擎官网
  • wordpress数据库导入插件深圳龙岗区优化防控措施
  • 中式设计网站推荐网络营销手段有哪四种
  • 郑州专业做网站的公司网络营销的特点有哪些?
  • 电子商务网站分类seo好学吗入门怎么学
  • 网站可以做315认证吗苏州网站建设公司排名
  • 网页设计与网站的关系六安seo
  • 头像制作在线生成器上海seo优化公司
  • django做的网站域名注册入口
  • 备案 多个网站石家庄网站建设培训
  • wordpress 插入音乐洛阳网站建设优化
  • ftp服务器设置网站主页域名交易平台
  • 做网站有什么专业术语网店运营策划方案
  • 网站关键词优化实验结果分析网站如何才能被百度收录
  • 加强政府网站建设管理讲话磁力搜索器kitty
  • 宣化网站建设中国培训网是国家公认的吗
  • 企业信息管理系统案例关键词整站排名优化
  • 上海最好网站建设公司企业文化标语
  • dw做六个页面的网站怎么自己做网页
  • 青海省网站建设平台百度网址
  • wordpress 链接转换网站页面关键词优化
  • 可以去非菲律宾做游戏网站吗自己怎么创建网站
  • 中国最火的网站网络营销策划书封面
  • 渭南做网站的公司百度百科入口
  • 微信web开发者工具杭州优化商务服务公司
  • 哈尔滨专业网站制作设计广告软文范例200字
  • 做微信图文推送的网站百度竞价托管外包代运营
  • 湖南监理建设协会网站网络营销与直播电商怎么样