• 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/

  • 相关阅读:
    LA 6891 Money Transfers(最短路)
    Gym
    UVa 1662 Brackets Removal
    Gym 101334F Feel Good
    Gym 101334E Exploring Pyramids(dp+乘法原理)
    POJ 2112 Optimal Milking(二分+最大流)
    POJ 2115 C Looooops(模线性方程)
    UVa 11552 最小的块数(序列划分模型:状态设计)
    UVa 10534 波浪子序列(快速求LIS)
    UVa 10891 Sum游戏
  • 原文地址:https://www.cnblogs.com/joewu/p/3944368.html
Copyright © 2020-2023  润新知