目录
HTML和CSS
新浪新闻
标题排版
标题样式
特定选取要修改的元素
超链接
设置文本为一个标准的文本
text-decoration:none;
正文排版
<br>换行
页面布局
盒子模型
表格标签
表单标签
表单项
小结
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--方式一:内嵌样式-->
<style>
h1 {
color: red;
}
.date {
color: #968D92; /* 灰色 */
}
a{
color: black;
text-decoration: none;
}
p{
text-indent: 35px;/*设置首行缩进*/
line-height: 30px;/*设置行高*/
}
/*向右对齐*/
#plast{
text-align: right;
}
#center{
width: 65%;
margin: auto;/*自动计算边距*/
}
</style>
<!--方式二:外联样式-->
<!-- <link rel="stylesheet" href="./css/styles.css"> -->
</head>
<body>
<div id = "center">
<!--图片-->
<img src="Snipaste_2024-02-11_18-19-20.png"><a href="https://gov.sina.com.cn/" target="_self"> 新浪政务</a> > 正文<!--如果你的HTML文件和图片文件在同一个文件夹或相邻的文件夹中,建议使用相对路径而不是绝对路径。-->
<!-- <img src="Snipaste_2024-02-11_18-19-20.png" width="300" "80%"> -->
<h1>焦点访谈:狠狠挣一笔</h1>
<hr>
<!--时间-->
<span class="date">2024/01/01</span> <span>中国万岁</span>
<hr>
<!--视频<video src="video" controls width="950px"></video>-->
<!--音频audio src="audio" controls></audio>-->
<!--段落-->
<p>
<strong> 天地玄黄 </strong> 宇宙洪荒
</p>
<p>
日月盈亏
</p>
<p id="plast">
编辑: 李青水
</p>
</div>
</body>
</html>
JavaScript
引入方式
基础语法
输出语句
变量
let与var类似
数据类型,运算符
使用typeof运算符获取数据类型
类型转换
函数
对象
Array
<script>
//定义数组
//let arr = Array(1,2,3,4);
let arr = [1,2,3,4];
console.log(arr[0]);
console.log(arr[1]);
//特点:长度可变,类型可变
arr[10] = 50;
arr[9] = "A";
arr[8] = true;
//遍历数组中每个元素
for(let i=0;i<arr.length;i++){
console.log(arr[i]);
}
//遍历数组中有值的元素
arr.forEach(
function (e){
console.log(e);
}
)
//添加元素到数组末尾
arr.push(7,8,9);
//删除元素
arr.splice(2,2);
</script>
string
<script>
//创建字符串对象
let str = "Hello String";
//length属性
console.log(str.length);//length后没有括号
//charAt方法:返回索引值中的值
console.log(str.charAt(3));
//indexOf方法:返回值所在的索引下边
console.log(str.indexOf("lo"));
//trim方法:去除字符串左右两边的空格
let s = str.trim();
console.log((s));
//substring方法:截取获得字符串,有开始索引,结束索引(含头不含尾)
console.log(s.substring(0,5));//获得Hello
</script>
JSON
<script>
//定义json
let jsonstr='{"name":"Tom","age":18,"addr":["北京","上海"]}';
alert(jsonstr.name);
//json字符串转为js对象
let obj = JSON.parse(jsonstr);
alert(obj.name);
//js对象转为json字符串
JSON.stringify(obj);
</script>
BOM
window
<script>
//弹出对话框--确认:true,取消:false
let flag = confirm("您确认删除该记录吗?");
alert(flag);
//定时器-setInterval-周期性的执行某一个函数
let i=0;
setInterval(function (){
i++;
console.log("定时器执行了"+i+"次");
},2000);
//定时器-setTimeout-延迟指定时间执行一次
setTimeout(function (){
alert("JS");
},3000);
//跳转地址
alert(location.href);
location.href="http://www.itcast.cn";
</script>
Dom
事件监听
事件绑定
Vue
常用指令
生命周期
Ajax
axios
前端工程化
Vue组件库element
Vue路由
实现所选视图切换(点击人员管理则显示人员管理的相关表等)
打包部署
Maven
Maven坐标在pop.xml文件中
依赖管理
依赖配置
依赖传递
SpringbootWeb入门
HTTP协议
请求协议
响应协议
协议解析
请求
响应
分层解耦
三层架构
提高代码复用性
Ioc&Di入门
controller层与servicer层相互耦合(改变一个层的接口实现对象名,也要改变另一层的名)
但通过添加注解则自动找寻需要创建的对象
Mybatis
如何使用Mybatis查询所有用户数据
Mapper接口(UserMapper.java)
public interface UserMapper {
List<User> selectAllUsers();
}
Mapper XML文件(UserMapper.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectAllUsers" resultType="com.example.entity.User">
SELECT * FROM users
</select>
</mapper>
MyBatis配置文件(mybatis-config-xml)
确保在MyBatis的配置文件中包含了Mapper接口和XML文件的引用。
<configuration>
<!-- ... 其他配置 ... -->
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
java代码调用Mapper方法
首先,你需要获取SqlSessionFactory
的实例,然后使用它来创建SqlSession
。接着,你可以通过SqlSession
获取Mapper接口的实例,并调用其方法来执行查询。例如:
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper userMapper = session.getMapper(UserMapper.class);
List<User> users = userMapper.selectAllUsers();
for (User user : users) {
System.out.println(user);
}
} catch (Exception e) {
e.printStackTrace();
}
JDBC
@Test
public void testjdbc() throws Exception{
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象
string url="jdbc:mysql://localhost:3306/mybatis";
string username="root";
string password="123456";
connection connection=DriverManager.getConnection(url,username,password);
//3.获取执行SQL的对象statement,执行SQL,返回结果
string sql="select * from user";
statement statement=connection.createStatement();
ResultSet resultSet=statement.executeQuery(sql);
//4.封装结果数据
List<User> list=new ArrayList<User>();
while(resultSet.next()){
int id=resultSet.getInt("id");
string name=resultSet.getString("name");
short age=resultSet.getShort("age");
short gender=resultSet.getShort("gender");
string phone=resultSet.getString("phone");
User user=new User(id,name,age,gender,phone);
userList.add(user);
}
//5.释放资源
statement.close();
connection.close();
}
数据库连接池
lombok工具包
解决创建实体类时会产生臃肿的构造函数
Mybatis基础操作
删除
添加
更新
查询