1、用JDBC连接数据库
最基本的连接方式:
public static void main(String[] args){
Connection con=null;
Statement st=null;
ResultSet rs=null;
try {
// 注册驱动
DriverManager.registerDriver(new Driver());
String url="jdbc:mysql://localhost:3306/student?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true";
//建立连接
con=DriverManager.getConnection(url, "root", "root");
// 与数据库打交道一定要用到Statement
st=con.createStatement();
String sql="select * from student";
rs=st.executeQuery(sql);
while(rs.next()) {
/*
*/
}
}catch(Exception e) {}
finally {
try {
if(rs!=null) {
rs.close();
}
}catch(Exception e) {}
finally {
rs=null;
}
try {
if(con!=null) {
con.close();
}
}catch(Exception e) {
}finally {
con=null;
}
try {
if(st!=null) {
st.close();
}
}catch(Exception e) {
}finally {
st=null;
}
}
}
2、不用properties的JDBCUtil类
public class JDBCUtil {
static String url="jdbc:mysql://localhost:3306/student?
characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true";
static String name="root";
static String password="root";
static String driverClass="com.mysql.cj.jdbc.Driver";
//写一个静态类创建con对象
public static Connection getcon() {
Connection con=null;
try {
Class.forName(driverClass );
con=DriverManager.getConnection(url, name, password);
}catch(Exception e) {
}
return con;
}
public static void release(Connection con,Statement st,ResultSet rs) {
closeCon(con);
closeRs(rs);
closeSt(st);
}
private static void closeSt(Statement st) {
try {
if(st!=null) {
st.close();
}
}catch(Exception e) {
}finally {
st=null;
}
}
private static void closeRs(ResultSet rs) {
try {
if(rs!=null) {
rs.close();
}
}catch(Exception e) {
}finally {
rs=null;
}
}
private static void closeCon(Connection con) {
try {
if(con!=null) {
con.close();
}
}catch(Exception e) {
}finally {
con=null;
}
}
}
3、使用properties
1.JDBCUtil类
public class JDBCUtil {
static String url=null;
static String name=null;
static String password=null;
static String driverClass=null;
static {
try {
Properties properties=new Properties();
InputStream is=new FileInputStream("jdbc.properties");
properties.load(is);
driverClass=properties.getProperty("driverClass");
name=properties.getProperty("name");
password=properties.getProperty("password");
url=properties.getProperty("url");
}catch(Exception e) {
}
}
public static Connection getcon() {
Connection con=null;
try {
Class.forName(driverClass);
con=DriverManager.getConnection(url, name, password);
}catch(Exception e) {
}
return con;
}
public static void release(ResultSet rs,Statement st,Connection con) {
closeRs(rs);
closeConn(con);
closeSt(st);
}
private static void closeRs(ResultSet rs) {
try{
if(rs!=null) {
rs.close();
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
rs=null;
}
}
private static void closeSt(Statement st) {
try{
if(st!=null) {
st.close();
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
st=null;
}
}
private static void closeConn(Connection con) {
try{
if(con!=null) {
con.close();
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
con=null;
}
}
}
2.jdbc.properties文件
name=root
password=root
driverClass=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/student?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true