1.下载jar包并把jar包放到WebRoot/WEB-INF/lib/下:mysql-connector-java-5.1.27.jar(百度一搜有好多),mysql-connector-java-5.1.27.jar
2.加载驱动//com.MySQL.jdbc.Driver
3.获取连接 Connection对象
4.获取用于向数据库发送SQL的Statement对象5.执行sql,获取数据,解析数据
6.关闭连接,释放资源
具体BaseDao代码如下package com.demo.dao;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
/**
* 数据库操作类
* @author zhangdi
*
*/
public class BaseDao {
//数据库地址“jdbc:mysql://服务器域名:端口号/数据库名称”
private String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8";
//用户名
private String user = "root";
//用户密码
private String pwd = "";
//数据库链接对象
private java.sql.Connection conn;
//数据库命令执行对象
private PreparedStatement pstmt;
//数据库返回结果
private java.sql.ResultSet rs;
//静态代码块
static{
//1、加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//2、创建连接
private void getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//执行读操作方法
public java.sql.ResultSet executeQuery(String query,
List params){
getConnection();
try {
//3、创建命令执行对象
pstmt = conn.prepareStatement(query);
//4、执行
if(params!=null && params.size()>0){
for(int i=0;i
pstmt.setObject(i+1, params.get(i));
}
}
rs = pstmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//执行写操作方法
public int executeUpdate(String query,
List params){
int result = 0;
getConnection();
try {
//3、创建命令执行对象
pstmt = conn.prepareStatement(query);
//4、执行
if(params!=null && params.size()>0){
for(int i=0;i
pstmt.setObject(i+1, params.get(i));
}
}
//5、处理结果
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
//6、释放资源
this.close();
}
return result;
}
//关闭资源
public void close(){
try {
if(rs!=null){
rs.close();
rs = null;
}
if(pstmt!=null){
pstmt.close();
pstmt = null;
}
if(conn!=null){
conn.close();
conn = null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}