<1>数据库的链接步骤(以链接mysql数据库为例子):
1.注册驱动:注册驱动两种方法,
(1)DriverManager.registerDriver(new Driver())(浪费资源)。
(2) Class.forName("com.mysql.jdbc.Driver)(常用方法)。
2.获得链接:
String url = "jdbc:mysql://localhost:3306/mybase";
String username = "root";
String password = "123";
Connection con = DriverManager.getconnection(url,username,password);
3.获得语句执行平台:
Statement stat = con.createStatement();(有被注入攻击的风险一般不用,一般用他的子类prepareStatement)。
preparement pst = con.prepareStatement(sql);
4.执行sql语句以及处理结果:
int executeUpdate (String sql)执行sql语句的insert,Update,delete,执行成功返回行数
ResultSet executeQuery (String sql) 执行sql语句的select操做 ,返回值为ResultSet接口;可用此接口中的方法获取每列数据。
例:
ResultSet rs = stat.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getInt("sid")+rs.getString("sname")+rs.getdouble("sprice")+rs.getInt("sdesc"));}
5.释放资源:就是调用close()方法。
完整的实例:
public static void main(String[] args)
{ Class.forName("com.mysql.jdbc.Driver);
String url = "jdbc:mysql://localhost:3306/mybase";
String username = "root";
String password = "123";
Connection con = DriverManager.getconnection(url,username,password);
String sql = "Update sort SET sname = ?,sprice = ? where sid = ?";
prepareStatement pst = con.prepareStatement(sql);
pst.setobject(1,"汽车美容");
pst.setobject(2,498888);
pst.setobject(3,7);
pst.executeUpdate();
pst.close();
con.close();}
<2>数据库工具类的书写(以链接mysql数据库为例)
由于数据库的链接的前面三步后最后一步的书写方式基本固定,所以没有必要每次链接时都去书写,所以书写数据库工具类方便数据库的链接。由于链接不同的数据库会有不同的驱动和获得链接等,所以用以下工具类来链接数据库,方便链接不同数据库时修改。
package 数据库连接;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.Connection;
public class JDBCUtilsconfig {
private static Connection con;
private static String driverClass;
private static String url;
private static String username;
private static String password;
static {
readconfig();
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void readconfig()
{
InputStream in = JDBCUtilsconfig.class .
getClassLoader().getResourceAsStream("database.properties");
Properties pro = new Properties();
try {
pro.load(in);
} catch (IOException e) {
e.printStackTrace();
}
driverClass = pro.getProperty("driverClass");
url = pro.getProperty("url");
username = pro.getProperty("username");
password = pro.getProperty("password");
}
public static Connection getConnection() {
return con;
}
public static void close(Connection con,Statement stat){
if(stat!=null){
try{
stat.close();
}catch(SQLException ex){}
}
if(con!=null){
try{
con.close();
}catch(SQLException ex){}
}
}
public static void close(Connection con,Statement stat , ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch(SQLException ex){}
}
if(stat!=null){
try{
stat.close();
}catch(SQLException ex){}
}
if(con!=null){
try{
con.close();
}catch(SQLException ex){}
}
}
}
在Java工程中添加新文件,文件名database.properties,在文件下写入:
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybase
username=root
password=123
//当链接地址发生修改时,可直接在文件中修改即可