1.Java是怎么执行的?
(^-^)复习一下简单的java程序:
public class Text{
public static void main(String args[]) {
System.out.println("Hello!");
}
}
jdk:java开发工具
jre:运行环境,给用户用的
jvm:java虚拟机,可使java跨平台运行。(java文件在编译时会生成一个class文件(字节码文件),并在jvm中运行class文件,只运行不编译,则不会生成class文件)
编译,生成自解开码文件
运行 自解码文件。
package com.google.demo01;//用来定位的,说你的java这个文件在哪
在建立项目时com.(干嘛用的).(叫啥)->java文件
2.简单的JDBC
(1)jdbc体验
package com.company.zjx;
import com.mysql.jdbc.Driver;
import com.mysql.jdbc.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
public class JDBC_demo {
private static final String URL = "jdbc:mysql://localhost:3306/student";
public static final String USER = "root";
public static final String PASSWORD = "123456";
public static Connection connection;
public static Statement statement;
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static ResultSet resultSet;
public static void main(String[] args) {
try {
//加载驱动
Class.forName(DRIVER);
//获取sql连接
connection = DriverManager.getConnection(URL, USER, PASSWORD);
//获取sql操作对象
statement = (Statement) connection.createStatement();
//executeQuery:执行查询,返回结果集
resultSet = statement.executeQuery("select * from info");
while (resultSet.next()) {
int id = resultSet.getInt(1);
String name = resultSet.getString(2);
int age = resultSet.getInt(3);
System.out.println("id=" + id + " name=" + name + " age=" + age);
}
} catch (Exception e) {
e.printStackTrace();
} finally { //关闭连接:后用先关
try {
resultSet.close();
statement.close();
connection.close();
} catch (SQLException throwAbles) {
throwAbles.printStackTrace();
}
}
}
}
info表的信息:
运行结果:
(2)封装JDBCUtils(单例设计)
创建一个 .properties 后缀的文件,在此文件中添加以下配置项
将配置文件放在resources文件夹下。
原因:基于 InputStream 读取配置文件,该方式的优点在于可以读取任意路径下的配置文件。
但使用ClassLoder读取配置文件,该方式只能读取类路径下的配置文件,所以一般需要将配置文件放在src路径目录下。
通过静态代码块,预先执行读取配置文件的配置项,做预处理。
package com.company.zjx.JDBCUtil;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class JDBCUtils {
private static String driver;
private static String url;
private static String user;
private static String password;
//通过静态代码块,来预先执行读取配置文件的配置项,做预处理。
static {
try {
// JDBCUtils.class.getClassLoader();//当前类加载
InputStream inputStream = ClassLoader.getSystemResourceAsStream("db.properties");//系统类加载器
//Properties extends HashTable
Properties properties = new Properties();
properties.load(inputStream);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
System.out.println(driver + " " + url + " " + user + " " + password);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void init() {