20201117_张福龙
知识总结:
1.封装,将数据与操作数据的源代码程序进行结合,将函数封装起来;需要用到的时候可以直接调用,简化了编程的过程,方便使用者操作;
2.对函数的封装步骤:
(1)连接数据库;
(2)增、删、改的方法;
(3)查的方法;
(4)给占位符赋值;
(5)关闭资源;
函数封装程序实现:
package com.itlaobing.jdbc;
import java.sql.DriverManager;
import java.sql.ResultSet;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class DBUtils{
java.sql.Connection conn=null;
PreparedStatement psts=null;
ResultSet rs=null;
//连接数据库
public void getConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cpi","root","");
}
//增、删、改的方法
public int executeUpdate(String sql,Object...values)throws Exception{
getConnection();
java.sql.PreparedStatement psts = conn.prepareStatement(sql);
setObject(values);
int i=psts.executeUpdate();
return i;
}
//查询方法
public ResultSet executeQuery(String sql,Object...values)throws Exception{
getConnection();
java.sql.PreparedStatement psts = conn.prepareStatement(sql);
setObject(values);
ResultSet rs = psts.executeQuery();
return rs;
}
//给占位符赋值
public void setObject(Object...values) throws Exception {
if(values !=null && values.length>0) {
for(int i=0;i<values.length;i++) {
psts.setObject(i+1,values[i]);
}
}
}
//关闭资源
public void close()throws Exception {
if(rs !=null||rs.isClosed()==false ) {
rs.close();
}
if(psts !=null||psts.isClosed()==false) {
}
if(conn !=null||psts.isClosed()==false) {
}
}
}
3.调用封装函数实现增删改查;
例如实现对数据库中数据的删除命令如下:
package com.itlaobing.jdbc;
import java.sql.ResultSet;
public class Text {
public static void main(String[] args) {
DBUtils utils=new DBUtils();
try {
String sql = " DELETE FROM cpidatamanage WHERE cpiid=?";
Object[]values= {13};
int i=utils.executeUpdate(sql, values);
if (i>0) {
System.out.print("删除指定项成功");
}else {
System.out.print("删除指定项失败");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
学习心得:
今天学习了封装,在昨天学习的对数据库的增删改查的基础上,为了让整个编程过程更加的简单易于操作,而进行了思考;通过对函数进行封装处理,在需要用到的时候可以直接调用,从而简化编程的步骤,这样既可以降低操作的繁琐度,也可以减少出错的频率;还知道了Alt+shift+L和Alt+/这两个非常好用的快捷键组合,并且在今天的学习中,还了解到客户端、服务端、数据库之间关系以及操作实现的基本思路和原理;想学好这一科只有多思考多练习。
近期评论