eclipse : ide
自带jdk1.8
SpringBootRpository 目录
maven 仓库 构建工具
- 三个文件下载,解压
- 修改settings.xml 里的本地仓库目录
- 修改eclipse maven设置,指定仓库未位置
项目文件:
main/java java源码位置(包)
main/resource
application.properties 主配置
static 静态资源(不需服务处理)
templates 动态模板资源
pom.xml maven配置文件
web应用
前端:(浏览器识别执行的代码)
html ,css ,js,text
后端:
服务(请求回应)
1.由前端发出请求
2.web服务接收 tomcat(监听,应用容器),
解析生成请求对象类实例,应用程序指定
3.应用spring 容器(项目),根据请求地址,找到目标处理代码
4. 查找spring容器中,指定对象的地址映射
5.代码根据请求的内容,处理业务(数据库)
6.将处理结果写入回应
7.浏览器接收回应,解析显示内容
ssm
spring 对象容器, ioc 关系依赖 aop面向切面(代理)
springmvc mvc model业务模板-view视图模板-controller控制器
mybatis orm框架 对象关系映射
http://127.0.0.1/bb/aaaaa?count=10000&name=3333
控制器
@RestController 1.是容器部件 2.身份,是控制器 3.回应直接输出内容,自动转json
@Controller 1.是容器部件 2.身份,是控制器 3.回应为视图名称,视图相关
@RequestMapping(“aa/aaa”) 地址映射(类,方法)
参数:
1.参数值(请求参数名称与方法参数名称对应),支持多个
2.参数对象(请求参数名称与方法参数对象的属性名称)
3.系统参数 HttpServletRequest,HttpServletResponse,ModelMap
返回值:RestController 返回数据
Controller STRING返回视图名称
VOID返回请求路径作为视图名称
返回视图对象
数据库连接:
1.库表
2.mybatis导入,SQLITE jdbc驱动导入 maven
3.设置数据源
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.datasource.url=jdbc:sqlite://d:/db.s3db
mybatis注解
@Repository 1.是容器部件 2.身份,是数据仓库业务模板
@Insert @update @delete @select
@MapperScan(“com.example.demo.mapper”)
使用动态代理自动扫描mapper接口,生成对应接口实现类
@Autowired 动态注入 (根据类型)
mapper sql语法
#{参数值} 数据表列值的位置 ,语法,sql注入
${参数值} sql字符串拼接
@Select(“select * from user ${where}”)
public List select(@Param(“where”) String where);
mapper方法参数
1.基本类型,直接使用
@Select(“select * from user where id=#{id}”)
public User selectById(int id);
2.引用类型,调用getters方法
@Insert(“insert into user (name) values(#{name})”)
public void insert(User u);
3.多参数,String类型,别名时
@Select(“select * from user where id=#{ids}”)
public User selectById(@Param(“ids”) int id);
spring web处理核心
1.启动时,根据注解加入容器
2.启动后,web服务端口监听80
3.通过控制器对象,根据地址映射执行方法
4.找到业务模板,注入依赖(在创建时将依赖对象加入自身),执行业务
5.业务结果处理
html: 标签库,积木库
css:重叠样式表(样式,位置,动画)
javascript:交互(事件处理,dom,bom)
1.框架类(结构)
2.设置类,忽略
3.显示部件类
常规显示
表单处理
4.效果类(粗体,标题),忽略
表单标签
type 录入类型
name 请求参数的名称
value 请求参数的值
type:submit,reset
type:radio 单选组(name属性一致)
type: hidden 默认参数(id列)
表单面板,100%post
action 提交目标地址
method 请求类型
get 参数在url上,格式,大小,安全,速度快
post 参数在请求体内
单选下拉框
男
女
多行文本录入 无value属性
<ul> 列表
- 12321
- 12321
- 12321
- 12321
css :
- style属性
2.
3.
选择器:
textarea{} 标签选择器 名称
#myid{} id选择 id属性
.cls{} 类选择器 class属性
[name=sex]{ } 属性选择器
.cls,textarea{ } 或选择
.cls textarea{ } 衍生选择 子孙内
.cls>textarea{ } 子内
:hover 伪类 状态发生
定位:
position: fixed 超级绝对定位
position:absolute 绝对定位,按上级左上角
position:relative 按自身原位置偏移定位
视图:thymeleaf
1.导入thymeleaf jar
2.设置 application.properties 默认可不需设置
3.创建视图文件
4.放入数据
public String a(ModelMap m) {
m.put(“list”, mapper.select(""));
return “index”; // 视图位置/index+".html"
}
5.显示数据thymeleaf:
th:each 循环当前标签, row,rowstatus:${map key} index,count
th:if
th:value
th:href
th:text 替换标签内容文本th:text="KaTeX parse error: Expected '}', got 'EOF' at end of input: …@{'delete?id='+{row.id}}" url地址
th:οnclick="|del(${row.id})|" js方法文件规范: 文件名,方法名,目录名 同步规范
- style属性