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

网友投稿 193 2023-06-23


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.PreparedStatehttp://ment;

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 (ClasPYgFIcsNotFoundException 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.Hhttp://eheDao;

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

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Bootstrap的modal拖动效果
下一篇:Mybatis多参数及实体对象传递实例讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~