JDBC增删改查和查唯一的完整代码解析
更新时间:2016年12月25日 17:08:40 作者:long_street_to_walk
这篇文章主要介绍了JDBC增删改查和查唯一的完整代码解析,代码分为第四部分,每部分代码都不错,对jdbc增删改查操作感兴趣的朋友一起学习吧
第一部分代码(实体类)
package com.wf.entity; public class Hehe{ private int hehe_id; private String hehe_name; private String hehe_gender; public int getHehe_id(){ return hehe_id; } public void setHehe_id(int heheId){ hehe_id=heheId; } public String getHehe_name() { return hehe_name; } public void setHehe_name(String heheName) { hehe_name = heheName; } public String getHehe_gender() { return hehe_gender; } public void setHehe_gender(String heheGender) { hehe_gender = heheGender; } }
第二部分 BaseDao(增删改查和查唯一)
package com.wf.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao{ protected static final String DRIVER="com.mysql.jdbc.Driver"; protected static final String URL="mysql://localhost:3306/mysql"; protected static final String USER="root"; protected static final String PASSWORD="******"; protected Connection connection=null; protected PreparedStatement preparedStatement=null; protected ResultSet resultSet =null; protected void getconnection() throws ClassNotFoundException, SQLException{ Class.forName(DRIVER); this.connection =DriverManager.getconnection (URL,USER,PASSWORD); } /** * 通用的增删改方法 * @param sql SQL语句 * @param params 参数数组 * @return 受影响的行数 */ protected int executeUpdate(String sql ,String[]params){ int result=-1; try { this.getconnection(); this.preparedStatement=this.connection.prepareStatement(sql); if(null!=params){ for (int i = 0; i < params.length; i++) { this.preparedStatement.setString(i+1, params[i]); } } result= this.preparedStatement.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ this.close(); } return result; } /** * 查询结果集的方法 * @param sql * @param params */ protected void executeQuery(String sql,String[]params){ try { this.getconnection(); this.preparedStatement=this.connection.prepareStatement(sql); if(null!=params){ for (int i = 0; i < params.length; i++) { this.preparedStatement.setString(i+1, params[i]); } } this.resultSet=this.preparedStatement.executeQuery(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
/** * 查询唯一的结果 * @return Object */ protected Object executeQueryUnique(String sql,String[]params){ Object object=null; try { this.getconnection(); this.preparedStatement=this.connection.prepareStatement(sql); if(null!=params){ for (int i = 0; i < params.length; i++) { this.preparedStatement.setString(i+1, params[i]); } } this.resultSet=this.preparedStatement.executeQuery(); if(this.resultSet.next()) object=this.resultSet.getObject(1); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return object; } protected void close(){ try { if(null!=this.resultSet) this.resultSet.close(); if(null!=this.preparedStatement) this.preparedStatement.close(); if(null!=this.connection) this.connection.close(); } catch (SQLException e) { e.printStackTrace(); } }
第三部分 HeheDao
package com.wf.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import com.wf.entity.Hehe; public class HeheDao extends BaseDao{ public boolean insert(Hehe hehe){ String sql="insert into hehe(hehe_name,hehe_gender) values(?,?)" ; String []params=new String[]{hehe.getHehe_name(),hehe.getHehe_gender()}; return this.executeUpdate(sql, params)>0? true:false; }
第四部分 测试Test_BaseDao_Insert
package com.wf.test; import com.wf.dao.HeheDao; import com.wf.entity.Hehe; public class Test_BaseDao_Insert { public static void main(String[] args) { Hehe hehe=new Hehe(); hehe.setHehe_name("个"); hehe.setHehe_gender("b"); HeheDao _hd=new HeheDao(); if(_hd.insert(hehe)) System.out.println("成功!"); else System.out.println("失败!"); } }
相关文章
SSM框架整合之Spring+SpringMVC+MyBatis实践步骤
大家都知道Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,本文主要介绍三大框架的整合包含spring和mybatis的配置文件,还有spring-mvc的配置文件的详细介绍,通过项目实践步骤给大家详细介绍,感兴趣的朋友一起看看吧2021-06-06Spring Boot使用Servlet及Filter过程详解
这篇文章主要介绍了Spring Boot使用Servlet及Filter过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-07-07SpringBoot读写xml上传到AWS存储服务S3的示例
这篇文章主要介绍了SpringBoot读写xml上传到S3的示例,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下2020-10-10Spring Cloud Gateway内置的断言和过滤器作用说明
这篇文章主要介绍了Spring Cloud Gateway内置的断言和过滤器作用说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
最新评论