反射:框架设计的灵魂
框架:半成品软件
可以在框架的基础上进行软件开发,简化编码
反射:
将类的各个组成部分封装为其他对象,这就是反射机制
Java代码 在计算机中经历的阶段:三个阶段
-
Source :源代码阶段(还在硬盘上)
Java文件经过javac 编译 形成 字节码文件
-
Class 类对象阶段
类加载器( ClassLoader )把字节码文件加载至内存
1.成员变量 封装成 Field对象
2.构造方法 封装成 Constructor 对象
3.成员方法 封装成 Method对象
- Runtime:运行时阶段
好处:
- 可以在程序运行过程中,操作这些对象
- 可以解耦,提高程序的可过展性
JDBC:
- 概念:Java DataBase Connectivity -----(Java数据库连接)
- JDBC本质:官方定义的一套操作所有关系型数据库的规则(接口)
- 各个数据库厂商实现这套接口提供j数据库驱动ar包,我们可以使用这套接口(JDBC)编程,真正执行的代码是jar包中的实现类
快速入门:
步骤
- 导入jar包
- 注册驱动
- 获取数据库连接对象 Connection
- 定义sql
- 获取执行sql语句的对象 Statement
- 执行sql,接受返回结果
- 处理结果
- 释放资源
package cn.sdut.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/*
JDBC快速入门
*/
public class jdbc {
public static void main(String[] args) throws Exception {
/*
1、导入相应的驱动jar包
将jar包复制到lib目录下 右键-Add as library
*/
//2、注册驱动E
Class.forName("com.mysql.jdbc.Driver");
//3、获取数据库的连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/sdut", "root", "usbw");
//4、定义一个sql语句
String sql = "update student set name='sdut' where id=1";
//5、获取sql语句执行对象
Statement st = con.createStatement();
//6、执行sql语句
int result = st.executeUpdate(sql);
//返回影响的行数
//7、处理结果
System.out.println(result);
//8、释放资源
st.close();
con.close();
}
}
详解各个类的对象:
- DriverManager:驱动管理对象
1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
2.获得数据连接
方法 static Connection getConnection(String url,
String user, String password)
参数
url:指定连接路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
例:jdbc:mysql://localhost:3307/sdut
user:用户名
password:密码
- Connection:数据库连接对象
- 获取执行sql的对象
Statement createStatement()
PreparedStatement PrepareStatement(String sql)
- 管理事务
- 获取执行sql的对象
开启事务:setAutoCommit(boolean autoCommit):调用同时设置false,即开启事务
提交事务:commit()
回滚事务:rollback()
- Statement:执行sql的对象
执行sql
boolean excute (String sql): 可以执行任意sql (了解即可)
int executeUpdate(String sql): 执行DML(增删改,创建)语句
返回影响的行数:大于0成功,小于0失败