用Java语言控制数据库实现对数据库的增删改查
这里需要用到数据库连接池------DBCP连接池
数据库操作---------DBUtils
先来说一下整体的框架就是流程啥咋样的:
(适合小白加入了自己的理解,理解不对的地方批评指点)
JDBC数据库
## 记住4321
public class DB {
//4个数据库参数
static String driver = null;
static String url = null;
static String name = null;
static String pwd = null;
//3个操作对象
protected Connection conn = null;
protected PreparedStatement ps = null;
protected ResultSet rs= null;
//2个方法
public void getConn() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,name,pwd);
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
if (rs!=null) rs.close();
if (ps!=null) ps.close();
if (conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//1个静态代码块
static{
InputStream is = DB.class.getClassLoader().getResourceAsStream("config.properties");
Properties pp = new Properties();
try {
pp.load(is);
driver = pp.getProperty("a");
url = pp.getProperty("b");
name = pp.getProperty("c");
pwd = pp.getProperty("d");
} catch (IOException e) {
e.printStackTrace();
}
}
}
————————————————————————————————————————————————————————————————————————
#### 下面是代码的下半部分
1.建立桥
2.定义要执行的sql语句
3.整个特种兵运输sql语句
4.执行命令
5.关闭资源
、
上面的代码就是没有加入 DbUtils工具类的代码就是这个样子的
下面讲解一下
JDBC DBUtils 数据库连接池(DBCP C3P0 Duid)
三者之间的关系
DBUtils 和数据库连接池都是来简化代码的 就是java程序控制数据库的代码就是JDBC
加入DBUtils后 4.3.2.1 就变成了 4.1.1.1
public class Test extends DB {
public void scoreOrder() {
String sql= "select s.studentno,studentname,sum(studentresult) from student s ,result r\r\n" +
"where s.studentno = r.studentno\r\n" +
"group by s.studentno,studentname\r\n" +
"order by sum(studentresult) desc";
try {
getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()) {
System.out.println( rs.getString(1)+"\t"+rs.getString(2)+"\t"+ rs.getInt(3));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
close();
}
}
public static void main(String[] args) {
new Test().scoreOrder();
}
}