JDBC增删改查和查唯一的完整代码解析

发布时间 - 2026-01-10 22:05:59    点击率:

第一部分代码(实体类)

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("失败!");
}
}


# jdbc增删改查  # java jdbc连接mysql数据库实现增删改查操作  # Java使用JDBC连接数据库的实现方法  # Java开发Oracle数据库连接JDBC Thin Driver 的三种方法  # JSP使用JDBC连接MYSQL数据库的方法  # java使用jdbc连接数据库工具类和jdbc连接mysql数据示例  # jdbc连接sqlserver数据库示例  # JDBC 连接MySQL实例详解  # jsp+servlet+jdbc实现对数据库的增删改查  # jdbc实现连接和增删改查功能  # 查询结果  # 第一部分  # 第二部分  # 第四部分  # 行数  # 实体类  # sql  # import  # Connection  # DriverManager  # dao  # heheGender  # setHehe_gender  # BaseDao  # java  # 查唯一  # PreparedStatement  # Driver  # jdbc  # mysql 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  JS中对数组元素进行增删改移的方法总结  如何快速完成中国万网建站详细流程?  Laravel distinct去重查询_Laravel Eloquent去重方法  canvas 画布在主流浏览器中的尺寸限制详细介绍  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  java获取注册ip实例  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何自定义建站之星网站的导航菜单样式?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  韩国服务器如何优化跨境访问实现高效连接?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何在阿里云香港服务器快速搭建网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  js实现获取鼠标当前的位置  教你用AI将一段旋律扩展成一首完整的曲子  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  打造顶配客厅影院,这份100寸电视推荐名单请查收  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何快速启动建站代理加盟业务?  魔方云NAT建站如何实现端口转发?  浅谈Javascript中的Label语句  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何用VPS主机快速搭建个人网站?  微信小程序 配置文件详细介绍  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何彻底删除建站之星生成的Banner?  Laravel如何创建自定义Artisan命令?(代码示例)  JavaScript如何实现路由_前端路由原理是什么  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何在 Pandas 中基于一列条件计算另一列的分组均值  浅析上传头像示例及其注意事项  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  个人网站制作流程图片大全,个人网站如何注销?  如何在Windows服务器上快速搭建网站?  详解jQuery中的事件  如何快速搭建高效WAP手机网站?  jQuery validate插件功能与用法详解  中山网站推广排名,中山信息港登录入口?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  简单实现Android文件上传  Python面向对象测试方法_mock解析【教程】  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Linux系统命令中screen命令详解  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】