Java反射之类的字节码对象的三种调用方式和JDBC【多测师】
类的字节码对象:
package com.section02;
import org.apache.log4j.Logger;
import com.section01.Student;
/**
* @author xiaoshu
* 同一个类在JVM中只存在一份字节码对象
*也就是说下述clazz==clazz1==clazz2
*/
public class JDBCTester2 {
private static Logger logger = Logger.getLogger(JDBCTester2.class);
public static void main(String[] args) throws Exception {
logger.info("我是info级别的日志信息");
//三种获取类的字节码对象的方式
//第1种:
Class<Student> clazz = Student.class;
System.out.println(clazz); //class com.section01.Student
//第2种:
Class<?> clazz1= Class.forName("com.mysql.jdbc.Driver");
System.out.println(clazz1); //class com.mysql.jdbc.Driver
//第3种:
java.util.Date str = new java.util.Date();
Class<?> clazz2 = str.getClass();
System.out.println(clazz2); //class java.util.Date
}
}
JDBC:java连接数据库 java database connectivity 是一种用于执行sql语句的javaAPI
package com.section02;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import org.apache.log4j.Logger;
public class JDBCTester {
private static Logger logger = Logger.getLogger(JDBCTester.class);
public static void main(String[] args) throws Exception {
//装载驱动程序Driver,安装驱动管理器DriverManager
//装载一个类,装载mysql的驱动--类--告诉我类的名称com.xxx.xxx.xxxDriver
Class.forName("com.mysql.jdbc.Driver");
//建立连接:要从数据库拿到一个连接
//获取数据库连接需要的信息:协议 主机地址 端口号 路径(哪个数据库) 用户名 密码
String url = "jdbc:mysql://127.78.118.2/future";
String user = "futurevistor";
String password = "123456";
Connection conn= DriverManager.getConnection(url, user, password);
//准备sql语句
//插入一个用户
String sql="insert into member(regname,pwd,mobilephone,leaveamount)
values('xiaoshu','123456','15367498888','10000');";
//创建陈述对象(创建一个执行语句的声明对象)
Statement stmt = conn.createStatement();
//执行sql语句
stmt.execute(sql);
System.out.println("已经插入了sql语句:"+sql);
logger.info("这是info级别的日志" + sql);
logger.warn("这是warn级别的日志" + sql);
logger.error("这是error级别的日志" + sql);
//关闭资源(关闭陈述语句,关闭连接) 数据库资源比较稀缺要关闭
stmt.close();
conn.close();
}
//CRUD 增删改查
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)