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;

    }

    }

  • 相关阅读:
    c# gdi设置画刷透明
    char,varchar,nvarchar,text区别与联系
    banner无缝轮播【小封装】
    div中的内容垂直居中的五种方法
    jQuery hover() 方法
    年过三十,我为什么要学习ios 与安卓App 移动端技术
    CentOS 中用 Split 命令分割文件的方法
    centos E440 安装无线网卡
    CentOS7修改默认运行级别
    iwconfig: command not found 解决方案
  • 原文地址:https://www.cnblogs.com/foreverone/p/10634760.html
Copyright © 2011-2022 走看看