Java语言能干什么
MSI:停车场管理系统,图书馆管理系统,管家婆
OA:办公自动化系统
CRM:客户关系管理系统
ERP:大型企业级应用管理
APP或服务端:12306
微信小程序
以上这些统称为应用型软件
功能性软件:百度网盘,屏幕录像专家
C/S:客户端/服务端 例如:QQ,酷狗
B/S:浏览器/服务端 例如:淘宝网
可以通过专门的工具实现将java写的程序变为xx.exe
BSD的讲解
是整个javaEE学习的重点
JavaWEB开发涉及到的内容
B:浏览器
Browser:浏览器
技术:HTML,CSS,JS,JQuery(Ajax)
前端框架:BootStrap, EasyUI…,layui,vue,elementui
作用:获取信息
提交信息
S:服务端
Server:后台服务器
技术:Servlet–>是java语言中一个技术,struts2
特点:请求–相应模式
作用:接收用户请求
处理做出反应
D:数据库
DataBase:数据库
作用:用来储存暑假的地方/仓库
特点:关系型的
技术:SQL语句
备注:SQL结构化查询语言
类比理解:仓库——现实世界中用来存储东西的地方
1.数据库:是存储数据的仓库
2.数据:计算机中的数据:图片,文字,音频,视频,文件
3.数据库的分类:关系型和非关系型数据库
3.1关系型数据库:二维表格
常见的种类:名称 隶属公司 端口号 应用范围
MySQL Oracle 免费 3306 大中小项目
Oracle Oracle 付费 1521 大型项目
SQLServer 微软 付费 1433 大中小项目
postqresql 免费
3.2非关系型数据库:not only -->nsql,非二维数据库
常见的种类:
MongoDB:文档型数据库
Redis: KV(键值对)数据库
Neo4J
4.MySQL:是一款关系型数据库,且是免费的,且是Oracle公司的产品,且适用于大中小型项目,且操作比较方便
1.什么是视图:
1)视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上
2.视图的特性:
1)视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
2)可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);
3.视图的作用:
1)方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
2)更加安全,数据库授权命令不能限定到特定行和特定列,但是通过合理创建视图,可以把权限限定到行列级别;
4.使用场合:
1)权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如salary…
2)关键信息来源于多个复杂关联表,可以创建视图提取我们需要的信息,简化操作;
小结:视图就是一个虚表,但是可以方便查询,不要对视图进行添加,修改,删除因为这样会导致数据错乱
PS:一般情况下由DBA写,自己写
PS:DBA:数据库管理员
导读补充:java程序并不能直接作用于MySQL数据库
sql语句可以直接作用于MySQL数据库
1、JDBC:是一种技术,其实质是一组连接和操作数据库的API
2、在项目中怎样使用呢:
1、添加jar包并构建路径
2、开始使用
3、JDBC七步走:
1、加载驱动
2、指定URL/用户名+密码
3、获得连接
4、创建Statement对象
5、执行mysql语句
6、循环结果集
7、关闭流
示例1
public static void main(String[] args) throws Exception {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、指定URL/用户名+密码
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test20210529?useUnicode=true&characterEncoding=utf-8", "root", "123456");
//3、获取连接
if(!conn.isClosed())
{
System.out.println("连接成功了");
}
//4、创建stmt对象
Statement stmt = conn.createStatement();
//5、执行mysql语句
ResultSet rs = stmt.executeQuery("SELECT * from USER ");
//6、循环结果集
while(rs.next())
{
System.out.println(rs.getString("id")+"\t"+rs.getString("name"));
}
//7、关闭流
rs.close();
stmt.close();
conn.close();
}
示例2
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//连库四要素
//定义要加载驱动的地址
String driverName="com.mysql.jdbc.Driver";
//定义要加载的数据库
String url="jdbc:mysql://127.0.0.1:3306/test20210529?useUnicode=true&characterEncoding=utf-8";
//定义用户名
String user="root";
//定义密码
String poss="123456";
//定义要执行的MySQL语句
String sql_query="select * from user";
//1、加载驱动
Class.forName(driverName);
//2、指定URL/用户名+密码
Connection conn = DriverManager.getConnection(url, user, poss);
//3、获取链接
if(!conn.isClosed()){
System.out.println("连接成功");
}
//4、创建Statement对象
Statement stmt = conn.createStatement();
//5、执行mysql语句
ResultSet rs = stmt.executeQuery(sql_query);
//6、循环结果集
while(rs.next()){
System.out.println(rs.getString("id")+"\t"+rs.getString("name"));
}
//7、关闭流
rs.close();
stmt.close();
conn.close();
}
与示例1不同在于,示例2中代码将需要的参数,都赋给了定义好的变量,这样做可以将代码定义成一个特定的工作类,每次去进行MySQL操作的时候,直接去调用即可
小结:java可以通过JDBC的这一技术去对数据库进行增删改查的一系列操作。