开始打代码之前,先要进行一些前期准备
①:新建一个Maven项目,点击下一步,修改项目路径及项目名称,最后点完成即可。
②:文件->项目结构->Facet->添加Web项目,文件夹名称为webapp,下一级目录为WEB-INF,再下一级有一个文件web.xml,如果选项变灰添加不了,可以先把原来的先删除掉先再进行创建
③:设置->构建->构建工具,把任何变更勾上,再点入Maven,把Maven主路径修改为D:/JAVA/Maven/apache-maven-3.6.3,把用户设置文件修改为D:\JAVA\Maven\apache-maven-3.6.3\conf\settings.xml,点击应用->确定
④:在pom.xml文件中添加以下内容
**<build>**
**<plugins>**
**<plugin>**
**<groupId>org.apache.tomcat.maven</groupId>**
**<artifactId>tomcat7-maven-plugin</artifactId>**
**<version>2.1</version>**
**<configuration>**
**<port>8080</port>**
**<uriEncoding>UTF-8</uriEncoding>**
**<url>http://localhost:8080/shiro</url>**
**<server>Tomcat7</server>**
** </configuration>**
** </plugin>**
** <!-- 编译插件 -->**
** <plugin>**
** <groupId>org.apache.maven.plugins</groupId>**
** <artifactId>maven-compiler-plugin</artifactId>**
** <version>3.1</version>**
** <configuration>**
** <source>1.8</source>**
** <target>1.8</target>**
** <encoding>UTF-8</encoding>**
** </configuration>**
** </plugin>**
** </plugins>**
**</build>**
⑤:一个jsp对应一个Servlet,Servlet有一个转发函数,也就是对你所做的请求做一个响应,Servlet就像一个中间人,负责接收请求以及响应的业务。
⑥:
⑦:axios里用的是_this,外面用的都是this
⑧:我给服务器数据用post,服务器给我数据用get。
②:javaWeb中当出现数据库的属性名和实体类的属性名不一致时,在Mapper.xml文件中取别名
例:
<resultMap id=“brandResultMap” type=“brand”>
<result column=“brand_name” property=“brandName”/>
<result column=“company_name” property=“companyName”/>
</resultMap>
在sql语句中的占位符使用的都是实体类的属性名
①:Maven其实就是一个可以自动载入jar包的一个框架,其中最重要的其实就是一个pom.xml文件,其次就是它分了两个目录,一个是开发目录,一个是测试目录。
②:MyBatis其实就是对JDBC进行了再度封装,不过得自己搭建,所有可以留一个地方放着,下次要的时候直接导入即可,就这么so easy!
写程序进行优化时,避免硬编码的形式,把需要载入的数据放入xml文件中
Mapper代理的方式:
我觉得就是,把Mapper接口里面的函数名当作一个映射的键,Mapper的xml文件里面对应的sql语句当作一个映射的值。把函数名当作映射的键真的是很巧妙,这样调用的时候以为调用的是函数,没想到是拿去映射一个sql语句了。注意:接口文件和xml文件要在同一级目录下
给包取别名
(给包取一个别名,这里取的别名,让导com.itheima.pojo包的地方,只要写类就行,包名可以省略,注意:类名可以不区分大小写,mybatis真的很强大!!!搭配上mapper简直绝配)

sql语句的一些积累:
as:给数据类型取别名, like:与等号’='相反,模糊查询。
Mybatis事务
Mybatis是默认手动提交事务的,如果需自动提交事务,则需在创建对象时,给true

Mybatis提供的标签为我们在实现动态sql时规避了很多的问题。
Mybatis的xml文件传递多个参数时:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
HTML(超文本标记语言)
W3C标准:网页主要由三部分组成
结构:HTML>表现:CSS>行为:JavaScript
html的基本格式:

html的基本知识:

一些学习经验
*request.js封装在doc的7.Vue实现增删改查里面*
解决跨域问题在doc的5.SpringBoot实现分页查询里面
- 前端界面写的东西没效果,最大的可能是你写的位置不对。
- yml配置文件中,键和值之间一定要空一格,不然会报格式错误的错
- varchar相当于Java中的String,bigint相当于Java中的long
- Vue的data里面,如果直接写对象名称,则在页面调用时,直接
.属性名使用即可,Vue会自动生成的 - 在sql语句中的占位符使用的都是实体类的属性名
- javaWeb中当出现数据库的字段名和实体类的属性名不一致时,在Mapper.xml文件中取别名
- 模糊查询表达式为:%
实体类属性名%(实体类属性名为字符串时才需要添加,数字则不需要添加),数字不许模糊查询,1就是1,2就是2!!!!,还有mapper接口方法有返回值的,一定不能去掉,不然会报 It’s likely that neither a Result Type nor a Result Map was specified. 错!! - 前端vue框架用的是JSON字符串,后端接口要的是一个对象或里面的一个数据,所以要进行转换
- 如果请求是用get的方式提交,则参数会携带在链接上,Servlet获取参数使用
**request.getParameter(“键名”)得到链接上对应的值,如果请求是用post的方式提交,则参数会携带在data上,Servlet获取参数使用
BufferedReader br = request.getReader();
String params = br.readLine();//json字符串
获取
- model是一个大的容器,v-model是model里面的一个属性
- mapper参数有两个以上时才需要添加 @Param注解,只有单独一个则不需要添加 @Param注解
- 点击超链接、按钮、图片…,亦或者是刷新,都视为一次请求。Servlet做的就是响应你这次请求
- 分页查询使用limit关键字,select * from tb_brand limit 3,4,意思为:在数据表tb_brand中查询下标为3往后的4条数据