
Java三阶段 - 前后端链接
CV键都碎了
真·前端小垃圾,努力混饭的智障
展开
-
Thymeleaf常用标记
常用标记th:text 替换标签的文本内容th:utext 替换标签的html内容th:each="变量名:集合"遍历集合th:remove=“all” 删除<body> <div> <div>孙悟空</div> <div th:text=${msg}>猪八戒</div> <div th:utext="${info}">沙悟净</div>原创 2022-01-07 14:43:39 · 564 阅读 · 0 评论 -
Thymeleaf工具类
初始化代码可以提取出一个类。thutils.javapackage cn.tedu.controller;public class ThUtils { private static TemplateEngine te; static { te = new TemplateEngine(); ClassLoaderTemplateResolver r = new ClassLoaderTemplateResolver(); r.setC原创 2022-01-07 10:45:03 · 395 阅读 · 0 评论 -
Thymealeaf基础
什么是thymealeaf为什么需要使用插入坐标<!-- Thymeleaf --><dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.0.11.RELEASE</version></dependency>...原创 2022-01-07 10:14:32 · 456 阅读 · 0 评论 -
如何创建运行在Tomcat上的Maven Webapp
教程地址后期补充详细信息。原创 2022-01-04 10:03:09 · 217 阅读 · 0 评论 -
页面重定向
页面重定向当页面重定向时,浏览器会想指定的路径发送一次新的请求,这样我们就可以控制浏览器的业务走向了。response.sendRedirect(request.getContextPath()+"/FindAllServlet");实现 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ..原创 2022-01-03 20:50:17 · 900 阅读 · 0 评论 -
Java文件的分类
我们可以将上面业务中的java类分为几个类型dao类:Data Access Object数据访问对象访问数据库的java类,一般情况下每一张表都要一个单独的dao类。entity类意思是实体,所以也称为实体类,也叫domain或bean或pojo类中包含了承载信息用的属性构造和getters,setters,一般情况下一张表都要对应一个单独的实体类。controller类意思是控制器,控制请求和相应的操作实际上就是我们编写的Servlet,现在暂时一个Servlet对应一个业原创 2022-01-03 20:25:52 · 864 阅读 · 0 评论 -
全查员工操作
<a href="FindAllServlet">查看所有员工信息</a>FindAllServlet.javaprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { EmpDao ed = new EmpDao(); List<Emp> list = ed原创 2022-01-03 18:30:41 · 490 阅读 · 0 评论 -
JavaEE新增操作
JavaEE是(java enterprise edition)java企业版。前期准备DBUtils文件,数据库链接文件。新建实体类项目对应的数据库有几张表,就有几个实体类,一般一张表对应一个实体类。类中的属性对应表中的一列。public class Emp { private Integer empno; private String ename; private Double sal; public Emp() { } pu原创 2022-01-03 00:46:00 · 216 阅读 · 0 评论 -
Servlet中使用JDBC实现注册业务(一)
环境准备1.创建表create database newdb3 character set utf8;use newdb3;create table user2( id int primary key auto_increment, username varchar(20), password varchar(20))charset=utf8;数据库链接文件 driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhos..原创 2022-01-02 23:11:04 · 477 阅读 · 0 评论 -
表单提交方式(post,get)
表单在提交时,有两种提交方式get请求请求参数放到请求的地址后面,参数大小受限只能传递几k的数据。由于参数再地址后面安全性不能保证。但是速度较快。应用场景:地址栏发出的请求/超链接发出的请求/form表单默认发出的请求。post请求请求参数放到请求体里面,参数大小没有限制,请求参数不可见,所以安全性更高,速度慢。应用场景:当form表单指定请求方式为post时发出请求。具体区别<body><!--提交方式默认get--><form ..原创 2022-01-02 20:46:37 · 4671 阅读 · 0 评论 -
Servlet输入身高体重求BMI练习题
<body> <form action="HelloServlet"> 身高(M):<input type="text" name="strh"> <br> 体重(KG):<input type="text" name="strw"> <br> <input type="submit" value原创 2022-01-02 16:41:26 · 472 阅读 · 0 评论 -
Servlet使用
2. 访问时传值新建页面,servlet用name获取值<body> <form action="HelloServlet"> 用户名:<input type="text" name="username"> <br> 密码:<input type="password" name="pwd"> <br> .原创 2022-01-02 16:39:13 · 83 阅读 · 0 评论 -
Tomcat的使用
创建servlet程序创建教程Servlet响应流程请求由浏览器发到Web服务器由Web服务器的web服务软件(Tomcat)接收,Tomcat接受后会取出请求路径的子地址,去web.xml中找到和此地址对应的Servlet.通过反射技术将Servlet实例化,并且调用service方法,最终导致咱们写在service方法中的代码执行。实现Webapp - WEB-INF - webxml<web-app> <display-name>Hell..原创 2022-01-02 12:43:02 · 62 阅读 · 0 评论 -
JDBC综合练习(外键约束)
创建两个表球队表create table team(teamid int primary key auto_increment,reamname varchar(20))球员表create table player(playerid int primary key auto_increment,platername varchar(20),teamid int)主键和外键球员表中teamid就是外键,它关联的主键球队是球队表的teamid球员表中的teamid的取值,只.原创 2022-01-02 00:06:13 · 577 阅读 · 0 评论 -
JDBC获得新增数据的自增主键值
create table user2(id int primary key auto_increment,username varchar(20),passward varchar(20))user2包含id列作为主键,自动增长。由于主键自动增长,就会有一个问题,我们添加数据后获得的主键值是多少呢?原创 2022-01-01 23:08:25 · 1119 阅读 · 2 评论 -
数据连接池分页查询
使用public class PageSelectDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 输入每页条数和多少页 System.out.println("每页数据条数"); int size = scan.nextInt(); System.out.println("输入查询第几..原创 2022-01-01 21:41:50 · 311 阅读 · 0 评论 -
数据连接池批量操作
为什么需要批量操作如果业务中需要执行多次某一条sql语句,每次只执行一条效率太低。如下图批处理操作public class ManyDemo2 { public static void main(String[] args) { try(Connection conn = DBUtils.getConn()){ //确定要执行的sql语句 String sql="insert into user values(?,?)"; .原创 2022-01-01 20:59:57 · 300 阅读 · 0 评论 -
SQL注入和PreparedStatement接口
Statement接口实现登录(不重要)public class StatementLoginDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //提示输入 System.out.println("请输入用户名"); String username = scan.next(); System..原创 2021-12-31 14:08:50 · 331 阅读 · 0 评论 -
数据库连接池
什么是数据库连接池数据库连接池是一个包含多个数据连接对象的容器为什么需要反复创建销毁connection效率低下,出现大量不发效率可以不足。数据库连接池可以预先创建好多个Connection对象,避免反复创建。创建数据库连接对象public class Demo3 { public static void main(String[] args) throws IOException, SQLException { //创建数据连接池对象 B..原创 2021-12-31 09:25:50 · 76 阅读 · 0 评论 -
DBUtils类
什么是DBUtils我们自己编写的,集中数据库连接的代码public class DBUtils { public static Connection getConn() throws ClassNotFoundException, SQLException { Connection conn = null; //定义连接数据库需要的参数变量 String driver = "com.mysql.cj.jdbc.Driver"; .原创 2021-12-30 16:02:12 · 125 阅读 · 0 评论 -
sql查询
Resultset rs 中包含查询的表,和一个指针。调用next方法可以移动指针,根据返回值可以判定是否还有一条数据。getXXX() 是获取指针指向这一行的某个数据,获取字符串getString,获取数值getInt @Test public void select() throws SQLException { System.out.println("开始查询"); //获得连接 C原创 2021-12-29 18:29:56 · 208 阅读 · 0 评论 -
JDBC实现增删改
以插入数据为例 @Test public void insert() throws SQLException { System.out.println("开始插入"); //获得连接 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/newdb3原创 2021-12-28 14:48:42 · 345 阅读 · 0 评论 -
jdbc概述
什么是JDBCJavaDataBaseConnectivity(java数据库连接)为什么需要有了JDBC我们就可以通过java代码对数据库发送sql语句。使用在pom文件中写入坐标</dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</..原创 2021-12-28 14:14:46 · 288 阅读 · 0 评论 -
sql内连接和外连接
内连接格式: select 字段信息 from a join b on 关联关系 where 其他条件join 连接两个表on 关联关系where 查询条件内连接和等值连接查询到的结果是一样的,建议使用内连接。更规范查询每个员工的姓名和对应的部门名select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno;查询1号部门的员工的姓名,工作,部门名和部门所在地select ename,job,dname,lo.原创 2021-12-28 11:06:46 · 189 阅读 · 0 评论 -
sql关联查询
同时查询多张表数据的查询方式称为关联查询关联查询必须写关联关系,不写会得到两张表的笛卡尔积,是一个错误的查询结果。工作中切记不要出现。查询每个员工的姓名和对应的部门名select ename,dname from emp e,dept dwhere e.deptno = d.deptno;查询工资高于2000的员工姓名,工资和部门所在地select e.ename,e.sal,d.loc from emp e,dept d where e.deptno=d.deptno and e.sal&原创 2021-12-28 10:23:39 · 189 阅读 · 0 评论 -
sql关联查询
表关系1对1关系: 一条数据对应一条数据。1对多关系:一条数据对应多条数据。多对多关系: a表中的数据对应b表中的多条数据。多对多关系必须有一个中间表储存对应关系。关联查询select * from dept,emp;查询到的数据查询结果的行数是dept表的行数乘以emp表行数的结果。是两张表的笛卡尔积能查到44条数据。因为dept表中有四条数据(神仙,妖怪,普通人,赛亚人)。emp中有11条数据。先查dept表,再查询emp表。4*11=44。。查询正确数据 .原创 2021-12-28 10:03:23 · 808 阅读 · 0 评论 -
sql子查询
什么是子查询在一条sql语句中出现表达式的位置又编写了另一条sql语句。一个sql语句嵌套另一个sql语句。子查询为了适应比较复杂的情况使用查询工资高于1号部门平均工资的员工信息select * from emp where sal>( //查询所有员工的工资select avg(sal) from emp where deptno=1 //查询1号部门的平均工资)查询工资最高的员工信息select * from emp where sal=( //查询..原创 2021-12-27 22:51:36 · 88 阅读 · 0 评论 -
sql分组查询
聚合函数只能查询出一行数据,比如“查询2号部门的工资总和”但是如果查询出多行的聚合函数结果,比如“查询每个部门的工资总和”,那么就需要分组查询了。ground by 关键字查询每个部门的平均工资select deptno,avg(sal) from emp group by deptno;查询每个部门的最高工资select deptno,max(sal) from emp group by deptno;查询每种工作的人数select job,count(*) from emp gr原创 2021-12-27 19:17:44 · 436 阅读 · 0 评论 -
sql聚合函数
数值计算我们可以在数值出现的位置进行计算包括但不限于+ - * /等运算符,使用非常灵活查询每个员工的姓名,工资和年终奖(5个月工资)select ename,sal,5*sal 年终奖 from emp;查询每个员工的姓名 工资及涨薪5块钱后的工资select ename,sal,sal+5 涨薪后 from emp;改变列名5*sal as 年终奖5*sal 年终奖聚合函数可以统计数据的求和、计数、平均值、最大值、最小值.使用聚合函数后不要查询其他列(分组查询除外).原创 2021-12-27 15:36:41 · 150 阅读 · 0 评论 -
数据库增删改查简单指令
插入数据全表插入insert into person values('Tom',18);指定字段插入insert into person(name)values('Jerry');批量插入insert into person values('Lucy',58),('Lily',59);insert into person(name) values('Lilei'),('Hanmeimei')中文问题set names gbk;输入后可以查看中文简单查询查询所有数据.原创 2021-12-26 21:23:25 · 198 阅读 · 0 评论 -
数据类型和约束
数据类型整数类型: int 和 bigintcreate table t1(name varchar(10),age int(10) zerofill)zerofill 表示这个列的数据长度不足时前面用0补位浮点数: float(m,d) 和 double(m,d),m代表长度,d代表小数长度。字符串: char(m) 固定长度m=10,存abc也占10位。varchar可变长度,最大长度65535, 超过255建议使用text日期: date年月日。time时分秒。dat..原创 2021-12-27 09:37:44 · 185 阅读 · 0 评论 -
数据查询(sql运算符)
数据的导入我们的数据库可以运行已经写好的sql文件,将其中的数据添加到数据库或表中。Linux下使用命令运行source /home/emp.sql;Windows下使用命令运行source d:/emp.sql;如果运行后查询内容是乱码,运行set names gbk;判断null使用is null 和 is not null判断数据是否为空 查询没有上级领导的运功信息 select * from emp where mgr is null; 查询有上级领导的员工姓名..原创 2021-12-27 11:07:32 · 508 阅读 · 0 评论 -
sql模糊排序查询
like关键字sql语句中将关系运算符替换为like,可以对数据进行模糊匹配。通配符%, 代表0或多个任意字符通配符_,代表1个任意字符查询孙姓的员工信息select * from emp where ename like '孙%';查询工作中包含销售的员工姓名和工作select ename,job from emp where job like '%销售%';查询名字中以精结尾的员工姓名select ename from emp where ename like '%精';.原创 2021-12-27 14:17:16 · 483 阅读 · 0 评论 -
数据库概述和简单命令
什么是数据库同意管理数据的集合。为什么需要数据库提高运行数据的运行效率分类关系型数据库和非关系型数据库。 微信好友之类都是关系型数据库,比较重要。启动win+r 输入service.src 打开服务界面,按m键会自动跳转M开头的服务,找到mysql简单指令开启命令行如果在所有程序中找到mysql —— command,可以直接进入如果没有,进入cmd窗口,进入mql安装目录bin文件夹,输入mysql -hlocalhost -uroot -p,输入密码,进入..原创 2021-12-24 17:49:34 · 333 阅读 · 0 评论