JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC并不能直接访问数据库,需要借助于数据库厂商提供的JDBC驱动程序。JDBC中常用的类和接口可用于我们编程开发,利用这些类和接口可以方便的经行数据访问和处理。这些类和接口都位于java.sql包中。
具体案例如下:
1、定义数据库连接属性:DBConf.java
public class DBConf {
public static String DRIVER = "com.mysql.jdbc.Driver";
public static String URL = "jdbc:mysql://IP:3306/数据库名?useUnicode=true&characterEncoding=UTF-8";
public static String DB_NAME = "root";
public static String DB_PASSWORD = "root";
}
2、定义数据操作工具类:DBUtil.java
public class DBUtil {
public static final String name = DBConf.DRIVER;
public static final String url = DBConf.URL;
public static final String user = DBConf.DB_NAME;
public static final String password = DBConf.DB_PASSWORD;
public Connection conn = null;
public PreparedStatement pst = null;
public DBUtil(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.pst.close(); //关闭执行命令
this.conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3、定义业务查询:PlanDao.java
public class PlanDao{
static String sql = null;
public DBUtil db1 = null;
private Statement stmt = null;
static ResultSet ret = null;
private String[] flags;
public List<FusePlanCaseEntity> selectPlanCaseInfoByPlanId(int planId,String sSearch) throws SQLException {
sql = "select * from tfci_fuseplan_case where planId=?";
db1 = new DBUtil(sql);
FusePlanCaseEntity entity = null;
List<FusePlanCaseEntity> list = new ArrayList<FusePlanCaseEntity>();
db1.pst.setInt(1, planId);//1就是sql的第一个参数的意思,pst.setInt(1,planId); 就是把planId替代sql的第一个问号
ret = db1.pst.executeQuery();// 执行语句,得到结果集
while (ret.next()) { //遍历结果
entity = new FusePlanCaseEntity();
entity.setId(ret.getInt(1));
entity.setPlanId(ret.getInt(2));
entity.setProjectName(ret.getString(3));
entity.setPlanCaseDec(ret.getString(4));
entity.setSfSendMail(ret.getString(5));
entity.setCreater(ret.getString(6));
entity.setPlanCase(ret.getString(7));
list.add(entity);
}//显示数据
ret.close();
db1.close();// 关闭连接
return list;
}
}