博客网站开发流程,电商网页设计实训报告,体现网站特色,上海公司车牌最新价格文章目录 什么是BaseDao操作代码增删改查询单个数据查询多个数据 总结 什么是BaseDao
BaseDao是#xff1a; 数据库里负责增加#xff0c;删除#xff0c;修改#xff0c;查询 具体来说是一种接口代码,公共方法的接口类。 在dao层新建basedao,其他dao层接口继承basedao 相… 文章目录 什么是BaseDao操作代码增删改查询单个数据查询多个数据 总结 什么是BaseDao
BaseDao是 数据库里负责增加删除修改查询 具体来说是一种接口代码,公共方法的接口类。 在dao层新建basedao,其他dao层接口继承basedao 相当于父类继承子类 用来创建其他dao包 操作代码
增删改
import java.sql.*;public class BaseDao {private String driver com.mysql.cj.jdbc.Driver;private String url jdbc:mysql://localhost:3306/20240326zy;//mysql的数据库private String user root;//用户名private String password sasa;//密码/*** 获取数据库连接* return 返回连接*/public Connection getConnection(){Connection conn null;try {Class.forName(driver);conn DriverManager.getConnection(url,user,password);} catch (Exception e) {e.printStackTrace();}return conn;}/*** 释放资源* param rs* param prs* param conn*/public void closeAll(ResultSet rs,PreparedStatement prs,Connection conn){try {if (rs!null){rs.close();}if (prs!null){prs.close();}if (conn!null){conn.close();}}catch (Exception e){e.printStackTrace();}}/*** 增删改* param sql sql语句* param objs 参数* return*/public int exceuteUpdate(String sql,Object... objs){int num 0;try {Connection conn getConnection();PreparedStatement prs conn.prepareStatement(sql);for (int i 0; i objs.length; i) {prs.setObject(i1,objs[i]);}num prs.executeUpdate();closeAll(null,prs,conn);}catch (Exception e){e.printStackTrace();}return num;}
}
查询单个数据
/*** 查询一个字段 只会返回一条记录且只有一个字段常用场景查询总数量* param sql* param params* return*/public static Object findSingleValue(String sql, ListObject params) {Object object null;Connection connection null;PreparedStatement preparedStatement null;ResultSet resultSet null;try {// 获取数据库连接connection getConnection();// 预编译preparedStatement connection.prepareStatement(sql);// 如果有参数则设置参数下标从1开始if (params ! null params.size() 0) {// 循环设置参数设置参数类型为Objectfor (int i 0; i params.size(); i){preparedStatement.setObject(i1, params.get(i));}}// 执行查询返回结果集resultSet preparedStatement.executeQuery();// 判断并分析结果集if (resultSet.next()) {object resultSet.getObject(1);}} catch (Exception e) {e.printStackTrace();}return object;}
查询多个数据
首先我们要有个实类必须和连接的那个数据库中的列一致 然后创建一个实类的Dao以下就是查询代码 import zy20240326.entity.brand;//这个就是实类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class brandDao {BaseDao bd new BaseDao();//创建对象PreparedStatement prs null;ResultSet rs null;public Listbrand getAll(){Listbrand list new ArrayList();//创建一个对象Connection conn bd.getConnection();//获取连接String sql select * from brand;try {prs conn.prepareStatement(sql);rs prs.executeQuery();while (rs.next()){brand brand new brand();brand.setBrandid(rs.getInt(Brandid));brand.setBrandName(rs.getString(BrandName));list.add(brand);//获取查询到的值并且增到对象中}bd.closeAll(rs,prs,conn);//关闭连接} catch (Exception e) {e.printStackTrace();}return list;}
}
运行代码
public class daoTest {public static void main(String[] args) {brandDao dao new brandDao();Listbrand list dao.getAll();for (int i 0; i list.size(); i) {System.out.println(list.get(i).getBrandid() ---list.get(i).getBrandName());}}
}运行结果
总结 以上操作就是一些简单的BaseDao的增删改查