6.8 JavaBean
我们也把它叫做实体类。
JavaBean 有特定的写法:
- 必须要有一个无参构造
- 属性必须私有化
- 必须有对应的 get/set 方法
- 一般用来与 数据库的 字段 做映射 ORM
ORM:对象关系映射
- 表 --> 类
- 字段 --> 属性
- 行记录 --> 对象
id | name | age | address |
---|---|---|---|
1 | 1号 | 19 | 四平 |
2 | 2号 | 20 | 四平 |
3 | 3号 | 21 | 四平 |
我们 要将这个 数据表,拆成 一个 Java 的类。
class People{
private int id;
private String name;
private int age;
private String address;
}
class A{
new People(1,"1号","四平");
new People(2,"2号","四平");
new People(3,"3号","四平");
}
-
我们先 创建 一个 数据表
-
写一下 jsp 代码,来看看 如何玩。
<%@ page import="com.muquanyu.pojo.People" %><%--
Created by IntelliJ IDEA.
User: muqua
Date: 2021/8/14
Time: 8:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
// People people = new People();
// people.setId(1);
// people.setAge(19);
// people.setName("1号");
// people.setAddress("四平");
%>
<jsp:useBean id="people" class="com.muquanyu.pojo.People" scope="page"/>
<jsp:setProperty name="people" property="address" value="四平"/>
<jsp:setProperty name="people" property="id" value="1"/>
<jsp:setProperty name="people" property="age" value="19"/>
<jsp:setProperty name="people" property="name" value="1号"/>
姓名:<jsp:getProperty name="people" property="name"/>
年龄:<jsp:getProperty name="people" property="age"/>
序号:<jsp:getProperty name="people" property="id"/>
地址:<jsp:getProperty name="people" property="address"/>
</body>
</html>
- 如何 自动生成 POJO ?
给 你一个 smbms 项目:狂神课程 看到的
链接:https://pan.baidu.com/s/1cVQzrx6kS0JfO5InMp5PNQ
提取码:dmck
然后自己 去 sql 生成一下 数据库,再用 IDEA 自动生成一下 POJO 试试吧。
- 可能 你在 自己写 Bean 类的时候,遇到了 500 报错,要不然 就是找不到 该类的一些 属性的问题。
- 我只能告诉 大家,千万 别信 那些网上 有的没的。这个 主要原因 就是 你写的 Bean 类 不标准!
Bean 类 有以下 三个准则:
① 属性必须 私有
② 必须有 一个 无参构造
③ 必须 写 public 的 getter 和 setter 方法
如果 以上 三个 准则 没满足的话,你 这 就属于 在瞎搞。你说 你现在 想要 use 这个Bean 类,然后想要 在 JSP 里 实例化,但是 这个 Bean 类 不标准,压根就不是 Bean 类,从根本上 就出问题了,那肯定 就玩完呀 ~ 所以 千万 别信 那些 什么 把 class 文件 移到 tomcat webapps 下,什么 把 class 文件 移到 tm 的 target 项目的 classes 下。 如果 大家 真的 发现 target 下 有 咱们的 类,就 别搞了。基本上 很小概率 会发生 什么 移文件 丢文件的事。。。
- 第二点 就是 你的 Bean 类 是否在 一个包里!JSP 认为 Bean 类 必须 要在 一个 包里,而不能 是个 裸类!这也属于一个标准。不要 试图挑战标准。。
再有一个就是 我寒假 复盘 踩到的一个坑,那就是 怀疑 是找不到 Bean 类。哈哈 ~
因为 我在 第一次 遇到这个问题的时候,当然第一反应 就是 检查 target 呀,就发现了 这样的一幕!
WTF ?? ? 我这个类 不是 在这嘛?
它咋 爆红呢?
其实 根本不用在意 这个,就因为 我 被它 误导,搞了 将近 两个多小时。都没把 问题解决。最后的 解决方案 就是 上面 我说的 那两个 准则 问题!可见 我们在 使用 一些 前人 研发的 东西的时候。一定要 注意 准则,规则。然后再去 做事。要不然 你会 被搞死 的 ~~