结构
配置文件Hibernate配置文件文件名: 默认为Hibernate.cfg.xml。用于Hibernate对数据库的连接、工作方式等
property
常用参数
功能
值
connection.url
数据库URL,指定到数据库
hibernate.connection.username
用户名
hibernate.connection.password
密码
connection.driver_class
数据库驱动
hibernate.dialect
数据库方言,不同的数据库或版本的SQL语法不同
org.hibernate.dialect.*Dialect
hibernate.current_session_context_class
session获取方式
jta | thread
hibernate.show_sql
是否控制台输出
true | false(默认)
hibernate.connection.autocommit
是否自动提交
true | false(默认)
hibernate.connection.poo ...
servlet方法
service
不常用,略
声明重写service方法
1234@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException){ …}
doGetGET请求访问一个链接时,如果没有指定访问方法,则默认GET,用于向服务器发送少量参数,进行查询,参数写在访问链接里
格式链接?参数1=值1&参数2=值2&…&参数N=值N
功能用于处理浏览器发来的GET请求(访问链接时如果未指定请求方式,默认均为GET)
声明1234@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response){ …}
doPostPOST请求向服务器发送较大的数据量,指定请求方式为POST,参数写在POST请求头中,访问链接不可见参数
格式一般为表单时,提交 ...
servlet生命周期
创建与终止
在浏览器第一次访问servlet时会进行初始化
当关闭tomcat服务时,销毁servlet
方法周期init初始化servlet(不使用构造函数),一个servlet只会自动调用一次init方法。用于初始化资源
service(doGet、doPost等)service方法用于处理请求,并返回响应,又可分为doGet、doPost等具体方法doGet主要用于接收参数,返回查询结果doPost主要用于接收提交的信息,如网页上传文章、图片、表单service会调用多次
destroy销毁servlet,一个servlet只会自动调用一次destroy方法。用于释放资源。
远程登录
1sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind一行,前面加'#'号
1# bind-address = 127.0.0.1
集合
说明
接口:规定了有哪些方法
类:用于实现具体方法,添加独有功能
依赖
java.util
分类
主要有三个
类别
功能
说明
set
集合
无序,无重复
list
列表
有序,可重复
map
字典
key-value型,key不可重复
Collection
常用方法
说明
返回类型
返回值
add(元素)
将元素添加至集合
void
addAll(集合)
boolean
remove(元素)
从集合中删除该元素
boolean
该元素是否存在
removeAll(集合)
boolean
contains(元素)
查看集合中是否包含该元素
boolean
containsAll(集合)
isEmpty()
查看集合是否为空
boolean
等同于size()==0
size()
查看集合中有多少元素
int
clear()
清空该集合
toArray(类型[])
将集合转换为指定类型的数组
T[]
iterator()
将该集合序列化
Iterator<T>
se ...
properties配置文件的使用
为了保护用户名和密码,应把数据库连接所需信息放入配置文件内,动态从配置文件读取
配置文件的格式
一般以properties为后缀
key=value
两侧均没有引号,key不得重复
读取依赖12import java.io.InputStream;import java.util.Properties;
语法语法123456789101112131415161718public class 类名 { …{ //创建配置文件对象 Properties properties = new Properties(); try{ //读取配置文件 InputStream in = 类名.class.getClassLoader().getResourceAsStream("配置文件名"); //加载配置文件 properties.load(in); }catch(Exception ...
文件与日期
文件操作
这个文件可以不存在,也可以是文件夹
依赖
java.io.File
构造函数
File(文件名)
File(链接地址)
常用方法
方法
说明
返回类型
getName()
获取文件名
String
getParent()
获取上一级文件路径
String
getParentFile()
获取上一级文件对象
File
getPath()
获取文件路径
String
canRead()
是否可读
boolean
canWrite()
是否可写
boolean
exists()
该文件是否存在
boolean
isDirectory()
是否是文件夹
boolean
isFile()
是否是文件
boolean
isHidden()
是否被隐藏
boolean
length()
文件大小
long
delete()
删除该文件
boolean
mkdir()
创建目录
boolean
mkdirs()
创建多级目录
boolean
renameTo(File)
文件重命名
boolean
createNew ...
泛型
说明
在不确定参数具体类型的时候,可以使用泛型,代替具体类型。
泛型可用于类和方法,泛型用于代替具体类型。
声明类声明123作用域 class 类名<泛型1, 泛型2…>{ …}
接口声明123interface 接口名<泛型1, 泛型2…>{ …}
方法TODO: 多个泛型参数?
声明123作用域 <泛型>返回类型 方法名 (泛型){ …}
e.g.1234567891011121314151617181920//声明泛型类public class Test<T1, T2>{ T1 a; //声明T1类型的a T2 b; //声明T2类型的b //声明返回T1类型的方法 public T1 getA(){ return T1; } //声明参数为T2类型的方法 public void setB(T2 b){ this.b = b ...
抽象与接口
抽象方法
只有声明,但没有具体内容的方法
抽象方法不能直接被调用,需要重写
声明
与普通方法声明相同,加abstract关键字
abstract 作用域 返回类型 方法名();
抽象类
包含抽象方法的类就是抽象类
抽象类不能被直接使用,不能被实例化
作用
用于告诉子类可以执行哪些操作,但没有规定具体的操作内容。
抽象类必须被继承,在子类中重写抽象方法。
(面向抽象编程)
声明声明123abstract class 类名{ …}
继承
抽象类可以继承自抽象类
接口
一种特殊的类,只包含全局常量和public的抽象方法
作用
接口可多继承(类只能单继承)
确定一个类的功能,面向接口编程
声明声明1234interface 接口名{ 全局常量 抽象方法}
因为接口的所有方法都是public的抽象方法,因此可省略public abstract关键字
继承
接口可继承接口,不可继承抽象类和普通类
继承接口需使用implements关键字,并可继承多个接口
普通类继承接口时,必须重写接口的所有方法
e.g.12 ...
作用域
说明
这里的作用域指“访问权限”,即对于其他类来说的可访问性
变量和方法
局部变量的作用域为它所在的花括号内
关键字
当前类
同一包
子类
其他包
public
√
√
√
√
protected
√
√
√
不写/default
√
√
private
√
类
类的作用于关键字为public和default,范围与变量相同
final
final用于不同的地方作用也不同
用于变量,表示该变量只读,不可被修改
用于方法,表示该方法不可被重写
用于类,表示该类不可被继承
用于方法的参数,表示该参数不会修改原值
static
静态。static可用于修饰变量和方法。
所有的类实例共享的一块内存,不属于某个具体的实例。
非static修饰的变量和方法叫做成员变量和成员方法。
无需生成实例,即可通过类名直接访问
static变量/方法只能访问static变量/方法或实例化后的成员