一、基本知识
1、 JDBC 提供了与平台无关的执行sql的API
2、 JDBC操作步骤
a.加载数据库驱动程序,将开发包的地址加载classpath中
b.建立连接
c.使用语句进行数据库操作。
d.关闭数据库
二、mysql中建立连接和关闭连接的功能类 (背景:李兴华 人员管理系统)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DataBaseConnection {
//定义mysql的数据库驱动程序
private static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义链接地址
private static final String DBURL = "jdbc:mysql://localhost:3306/test3" ;
//定义链接用户名
private static final String DBUSER = "root" ;
//定义密码
private static final String DBPASS = "123456" ;
private Connection conn = null ;
public DataBaseConnection(){
try {
Class.forName(DBDRIVER) ;//加载驱动程序
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//链接mysql数据库时要加上链接的用户名和密码
conn = DriverManager.getConnection(DBURL, DBUSER,DBPASS) ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Connection getConnection(){
return this.conn ;
}
public void close(){
if(this.conn!=null){
try {
this.conn.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
三、mysql增删改查功能类使用的代理模式
package org.lxh.useradmin.dao.proxy;
import java.util.List;
import org.lxh.useradmin.dao.IUserDAO;
import org.lxh.useradmin.dao.impl.IUserDAOImpl;
import org.lxh.useradmin.dbc.DataBaseConnection;
import org.lxh.useradmin.vo.User;
public class IUserDAOProxy implements IUserDAO {
private DataBaseConnection dbc = null;
private IUserDAO dao = null;
public IUserDAOProxy() {
this.dbc = new DataBaseConnection();
this.dao = new IUserDAOImpl(this.dbc.getConnection());
}
@Override
public boolean doCreate(User user) throws Exception {
boolean flag = true;
try {
flag = this.dao.doCreate(user);
} catch (Exception e) {
throw e;
} finally {
this.dbc.close();
}
return flag;
}
@Override
public boolean doDelete(int id) throws Exception {
boolean flag = true;
try {
flag = this.dao.doDelete(id);
} catch (Exception e) {
throw e;
} finally {
this.dbc.close();
}
return flag;
}
@Override
public boolean doUpdate(User user) throws Exception {
boolean flag = true;
try {
flag = this.dao.doUpdate(user);
} catch (Exception e) {
throw e;
} finally {
this.dbc.close();
}
return flag;
}
@Override
public List
findAll(String keyWord) throws Exception {
List
all = null; try { all = this.dao.findAll(keyWord); } catch (Exception e) { throw e; } finally { this.dbc.close(); } return all; } @Override public User findById(int id) throws Exception { User user = null; try { user = this.dao.findById(id); } catch (Exception e) { throw e; } finally { this.dbc.close(); } return user; } }
package org.lxh.useradmin.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import org.lxh.useradmin.dao.IUserDAO;
import org.lxh.useradmin.vo.User;
public class IUserDAOImpl implements IUserDAO {
private Connection conn = null;
public IUserDAOImpl(Connection conn) {
this.conn = conn;
}
@Override
public boolean doCreate(User user)