zoukankan      html  css  js  c++  java
  • java操作数据库

    /**
     * 
     */
    package com.xx.db;
    
    /**
     * @author 
    * 实现数据库连接 * 实现数据的查询和更新(增删改) * 只使用一个数据库写死在本文件中即可;若使用多个数据库,可使用配置文件 实现 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; //import org.apache.commons.lang.StringUtils; //import org.testng.annotations.Test; public class DBUtils { //驱动程序名 public String DBDriver = "com.mysql.jdbc.Driver"; //URL指向要访问的数据库名 public String url = "jdbc:mysql://192.168.xx.xx:3306/DataBase"; public String user = "username"; public String password = "password"; /* * MySQL配置时的用户名user * Java连接MySQL配置时的密码password */ public Connection connect(){ try { // 加载驱动程序 Class.forName(DBDriver); // 连接数据库 Connection conn = DriverManager.getConnection(url, user, password); // if(!conn.isClosed()){               //每次都打印,太烦了,所以注释掉了 // System.out.println("Succeeded connecting to the Database!"); // } return conn; }catch(ClassNotFoundException e) { System.err.println("Sorry,can't find the Driver!"); e.printStackTrace(); return null; } catch(SQLException e) { e.printStackTrace(); return null; } catch(Exception e) { e.printStackTrace(); return null; } } /* * 获取查询结果ResultSet */ public ResultSet selectResult(String sql) throws SQLException{ // statement用来执行SQL语句 Statement statement = connect().createStatement(); // 要执行的SQL语句 ResultSet rs = statement.executeQuery(sql); return rs; } /* * 按列获取查询结果 */ public List<String> getStringList(String sql, String key) throws SQLException{ List<String> value = new ArrayList<String>(); ResultSet rs = selectResult(sql); while(rs.next()) { //选择key这列数据 value.add(rs.getString(key)); } rs.close(); connect().close(); return value; }           //获取SQL执行结果的条数 public int getCount(String sql, String primaryKey) throws SQLException{ int count = 0; count = getStringList(sql,primaryKey).size(); return count; }           //更新数据库,适用于insert, update, delete public boolean updateResult(String sql) throws SQLException{ // statement用来执行SQL语句 Statement statement = connect().createStatement(); int rs = 0; // 要执行的SQL语句,为防止全表更新,要判断SQL语句中是否有WHERE子句,insert语句不必有WHERE子句 if(sql.contains("update ") || sql.contains("delete ") ){ if(sql.contains(" WHERE ") || sql.contains(" where ") ){ rs = statement.executeUpdate(sql); } }else if(sql.contains("insert into ")){ rs = statement.executeUpdate(sql); } statement.close(); connect().close(); if(rs==1){ return true; }else return false; } // @Test // public void test() throws SQLException{ // String sql = "SELECT * FROM tableName WHERE c_username='user'"; // List<String> value =getStringList(sql,"username"); // System.out.println(value.toString()); // System.out.println(getCount(sql,"c_uid")); // // String sql2 = "update shop_tableName set a='1101' WHERE username='user'"; // String sql3 = "insert into tableName (id,name) values (9999999,'11')"; // String sql4 = "delete from tableName WHERE name='11'"; // // System.out.println(updateResult(sql3)); // // System.out.println(sql4.contains(" WHERE ")); // } }

      欢迎光临娇娇家的美衣阁 http://shop105984718.taobao.com/

  • 相关阅读:
    toolblock 编写脚本并运用。
    C#等待子线程执行完毕
    win10+python3.7+dlib+opencv+face_recognition实现人脸识别
    c# tcp/ip通信
    【微信Xposed】kotlin反射异常RuntimeException:looper or serial is null
    安卓APK开启调试
    常用汇编指令对标志位的影响
    简单的.net反调试,调试检测
    虚拟机VMware和win10 hyper-v不兼容的问题
    对某城APP抓包分析--过SSL证书校验
  • 原文地址:https://www.cnblogs.com/joewu/p/3944368.html
Copyright © 2011-2022 走看看