zoukankan      html  css  js  c++  java
  • BaseDao

    package com.tao.utils;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import org.springframework.stereotype.Repository;

    /**
    * @author 陈建
    * @描述:dao基础类
    * 2018-10-25下午2:54:57
    */
    @Repository
    public class BaseDao {
    //四大金刚
    static String driver="com.mysql.jdbc.Driver";
    static String url="jdbc:mysql://localhost:3306/day35?useSSL=false";
    static String user="root";
    static String password="root";
    //加载驱动
    static{

    try {
    Class.forName(driver);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }
    //获取数据库连接
    public static Connection getConnection() {
    try {
    return DriverManager.getConnection(url, user, password);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;

    }
    //关闭数据库连接
    public static void closeConnection(Connection conn ,PreparedStatement ps ,ResultSet rs) {
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(ps!=null){
    try {
    ps.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(conn!=null){
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }

    }
    //查询通用方法
    public List<Map<String,Object>> executeQuery(String sql,Object...params) {
    List<Map<String,Object>> objList= new ArrayList<Map<String,Object>>();
    Connection conn = getConnection();
    PreparedStatement ps=null;
    ResultSet rs=null;
    try {
    ps = conn.prepareStatement(sql);
    ps = setParams(ps, params);
    //执行sql
    rs = ps.executeQuery();
    //获取表元数据信息
    ResultSetMetaData metaData = rs.getMetaData();
    //解析结果集
    while(rs.next()){
    Map<String,Object> row= new HashMap<String, Object>();
    //metaData.getColumnCount()获取列数
    for (int i = 0; i < metaData.getColumnCount(); i++) {
    row.put(metaData.getColumnName(i+1), rs.getObject(i+1));
    }
    objList.add(row);
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    closeConnection(conn, ps, rs);
    }
    return objList;

    }
    //增删改通用方法
    public boolean executeUpdate(String sql,Object...params) {
    Connection conn = getConnection();
    PreparedStatement ps=null;
    try {
    ps = conn.prepareStatement(sql);
    ps = setParams(ps, params);
    //执行sql
    int ret = ps.executeUpdate();
    if(ret>0){
    System.out.println("操作成功!");
    return true;

    }else
    {
    System.out.println("操作失败!");
    return false;
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    closeConnection(conn, ps, null);
    }
    return false;

    }
    //设值通用方法
    public PreparedStatement setParams(PreparedStatement ps,Object...params) {
    if(params!=null){
    for (int i = 0; i < params.length; i++) {
    try {
    ps.setObject(i+1, params[i]);
    } catch (SQLException e) {
    e.printStackTrace();
    }

    }
    }

    return ps;

    }

    }

  • 相关阅读:
    在网上如何找靠谱的兼职?
    Amphorae 与 Octavia Worker 的安全通信实现
    idea遇到XXXXXXXX.java文件上出现小叉号
    2019创业做哪方面,有什么好的建议吗?
    投资理财财经 现在每个月可以抽出2000元的闲钱,投资什么项目比较好?
    开水果蔬菜超市利润大吗?
    理财能不能发家致富?
    不想打工了,手里有10万,想回农村老家创业,却不知道做什么,请各位指点迷津,谢谢?
    为什么很多人说现在做什么生意都不好做?
    ylbtech-SubwayNav(地铁线路导航)-数据库设计
  • 原文地址:https://www.cnblogs.com/foreverone/p/10634760.html
Copyright © 2011-2022 走看看