直接使用jdbc连接数据库的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC {
public static void main(String[] args) {
Connection c = null;
Statement s = null;
try {
// Class.forName是把这个类加载到JVM中,加载的时候,就会执行其中的静态初始化块,完成驱动的初始化的相关工作
Class.forName("com.mysql.jdbc.Driver");
/*
* 建立与数据库的Connection连接 这里需要提供: 数据库所处于的ip:127.0.0.1 (本机) 数据库的端口号: 3306
* (mysql专用端口号) 数据库名称 student 编码方式 UTF-8 账号 root 密码 admin
*/
c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student?characterEncoding=UTF-8", "root",
"admin");
// 这是用于执行sql语句的
s = c.createStatement();
// 准备sql语句
// 注意: 字符串要用单引号'
String sql = "";
sql = "delete from Student where name = '小王'";
int iResult = s.executeUpdate(sql);
if (iResult >= 0) {
System.out.println("sql语句执行成功 " + iResult);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 因为finally一定是会执行的,所以在finally中关闭资源
try {
if (s != null)
s.close();
// 后关闭Connection
if (c != null)
c.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}上面代码中是直接连接的mysql数据库,但是要修改连接信息时就会比较麻烦,所以可以将连接信息放到一个单独的属性文件中,创建工具类直接读取属性文件信息即可。
下面是JDBC项目的目录结构:主要是TestJdbcFile.java(主方法)、DBUtils.java(读取属性文件以及获取连接和关闭连接到工具类)
mysql.properties(连接数据库的信息文件)
看看mysql.properties属性文件中的内容:
Driver:要连接的数据库是mysql
url:数据库的地址
userName:数据库登陆名
password:数据库登陆密码
Driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/student
userName=root
password=adminDBUtils.java工具类中的内容:该工具类的主要作用有三个(1)读取属性文件(2)返回一个数据库连接(3)关闭数据库连接
package utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DBUtils {
// 数据库驱动
private static String strDriver = "";
// 数据库地址
private static String strUrl = "";
// 数据库用户名
private static String strUserName = "";
// 数据库密码
private static String strPassword = "";
// 使用静态块来加载数据库连接的必要信息
static {
// 属性文件
Properties p = new Properties();
try {
// 通过相对路径加载文件
p.load(new FileInputStream(new File("JDBCfile/mysql.properties")));
// 用getProperty方法通过关键字获取信息
strDriver = p.getProperty("Driver");
strUrl = p.getProperty("url");
strUserName = p.getProperty("userName");
strPassword = p.getProperty("password");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取数据库连接的方法
public Connection getConn() {
Connection conn = null;
try {
// 加载驱动
Class.forName(strDriver);
// 获取数据库连接
conn = DriverManager.getConnection(strUrl, strUserName, strPassword);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
//关闭数据库资源方法
public void closeAll(ResultSet rs,Statement stat,Connection conn){
/*分别按顺序关闭数据库的结果集资源,Statement 对象资源以及Connection 连接数据库对象*/
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
最后就是TestJdbcFile.java主方法中的内容了
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import utils.DBUtils;
public class TestJdbcFile {
public static void main(String[] args) {
DBUtils dbUtils = new DBUtils();
//获取一个数据库连接
Connection conn = dbUtils.getConn();
Statement statement = null;
ResultSet rSet= null;
try {
//创建可以执行sql语句的对象
statement = conn.createStatement();
//准备sql语句
String sql = "select * from Student";
//执行sql语句,获取结果集
rSet = statement.executeQuery(sql);
//执行成功有结果集的时候
while(rSet.next()){
String strUseName = rSet.getString("name");
String strNumber = rSet.getString("number");
System.out.println("姓名是:"+strUseName+" 学号是"+strNumber);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//关闭资源
dbUtils.closeAll(rSet, statement, conn);
}
}
}
需要注意的是使用jdbc受先需要加载包, mysql的jar包下载地址:
http://dev.mysql.com/downloads/connector/ 这里我用的是java,所以下载connector/J
搞定!
版权声明:本文为gk_12原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。