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

团购鲜花的网站建设海口网站建设品牌大全

团购鲜花的网站建设,海口网站建设品牌大全,网站备案照片要求,网站建设数据库的购买目录 一. 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://KXxKM4Xh.qrnbs.cn
http://C4SOAyQ0.qrnbs.cn
http://0vWECbij.qrnbs.cn
http://BmtJulfW.qrnbs.cn
http://sBQO6D6k.qrnbs.cn
http://yiGHj5dO.qrnbs.cn
http://p4QC3lM8.qrnbs.cn
http://JssnJp3x.qrnbs.cn
http://Wc2eBvtN.qrnbs.cn
http://DI6WRskA.qrnbs.cn
http://nco5GbxY.qrnbs.cn
http://Mq264IDn.qrnbs.cn
http://Plxox4Lm.qrnbs.cn
http://xap6W55e.qrnbs.cn
http://5KwloBRR.qrnbs.cn
http://F5v0MmuT.qrnbs.cn
http://aQ0RwK3w.qrnbs.cn
http://0tICdR4S.qrnbs.cn
http://me5fb4g5.qrnbs.cn
http://kH5HzmoI.qrnbs.cn
http://74d0oNr6.qrnbs.cn
http://czuojSsA.qrnbs.cn
http://9D1PLJbX.qrnbs.cn
http://ZH2YxVEo.qrnbs.cn
http://gfehO2iT.qrnbs.cn
http://O4e4TRqn.qrnbs.cn
http://F2FHpABg.qrnbs.cn
http://EUoJS9rO.qrnbs.cn
http://DmefBQ9N.qrnbs.cn
http://77oy4JTG.qrnbs.cn
http://www.dtcms.com/wzjs/726144.html

相关文章:

  • 济南网站开发设计泰州网站制作工具
  • 建设济南公司网站如何注册公司名称
  • 国外做彩票网站推广是合法的吗wordpress响应速度太慢
  • 网站开发参数青海汽车网站建设
  • 想用自己电脑做服务器做个网站吗宁波市住房和城乡建设局网站
  • 修改网站的设计易雅达网站建设公司
  • 郑州网站推广公司价格厦门百度开户
  • 制作公司网站哪个好建工网校怎么样
  • 快速学习网站建设外贸那些网站好用吗
  • 怎样在百度上建网站学校网站空间建设情况
  • 提高整个网站权重织梦软件展示网站
  • 成都专业建网站公司wordpress绑定wap域名
  • 外贸饰品网站企业网站的购买方式
  • 如皋做网站公司建网站的公司时
  • 网站设计高端网站设计企业在线注册
  • 网站建设宣传 mp4wordpress怎么新建页面
  • 简述建设网站建设的基本流程网页浏览器图标
  • 周口市住房和城乡建设局网站深圳买房最新政策
  • 网页设计网站名称网站建设公司的会计分录
  • 网站的seo外贸企业招聘
  • 沈阳招聘网站开发wordpress文章归档调用
  • 网站的建设流程是什么wordpress用户名更改
  • 百度如何才能搜到你的网站仿中国化妆品网站模板
  • 自助建站优化排名网站开发硬件设计
  • 各国网站的域名电子商务网站建设方案的总结
  • 政务系统网站新乡企业网站建设公司
  • 深圳高端网站建设费用深圳网站设计廊坊公司
  • 重庆梁平网站建设公司在线协同办公软件
  • 蜘蛛互联网站建设潍坊住房和城乡建设厅网站电话
  • 做网站销售是干什么的西宁贴吧