一、前期准备
当前使用的数据库所需要的连接jar包,以sqlserver为例
二、编写DBUtil
使用工具类管理数据库连接,使用时直接从工具类中创建Connection对象
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
private static final String URL="jdbc:sqlserver://localhost:1433;databasename=xxxx";
private static final String USER="sa";
private static final String PASSWORD="123456";
private static Connection conn=null;
//静态代码块(将加载驱动、连接数据库放入静态块中)
static{
try {
//1.加载驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.获得数据库的连接
conn=(Connection) DriverManager.getConnection(URL,USER,PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//对外提供一个方法来获取数据库连接
public static Connection getConnection(){
return conn;
}
}
若需要使用其他数据库只需要更改URL和Class.forName中的内容为你对应的数据库。
三、操作数据库
//首先拿到数据库的连接
Connection conn = DBUtil.getConnection();
//编写sql语句
String sql = "insert into x(xx,xxx) values(?,?)";
//预编译sql
PreparedStatement psmt = null;
try {
psmt = conn.prepareStatement(sql);
//填充sql语句中的占位符
psmt.setString(1,"xx");
psmt.setString(2,"xx");
//执行sql
psmt.execute();
//关闭连接
if(null != psmt){
psmt.close();
}
if(null != conn){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
最终就可以成功操作数据库进行增删改的操作,查询操作需要使用ResultSet对象来接收,用executeQuery()方法进行查询,最终循环遍历ResultSet对象将值取出,下面用Person对象举例:
//执行SQL语句
ResultSet rs = psmt.executeQuery();
Person person = new Person();
while(rs.next()){
person.setXx(rs.getInt("xx"));
person.setXxx(rs.getString("xxx"));
}
return person;