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 增删改查    
}

 

posted @ 2020-05-10 21:09  多测师_树哥  阅读(188)  评论(0编辑  收藏  举报