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/

时间: 2024-11-17 12:51:48

java操作数据库的相关文章

java 操作数据库clob类型大字段

java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringReader; import java.sql.Clob; import java.sql.PreparedStatement; import java.sql.SQLException; public class ClobUtils { public final static String getValueFromClob(Clob clob

JDBC——java操作数据库的一系列接口

一.JDBC概述(mysql) 1.Java DataBase Connective 1)概念:JDBC其实就是一套Java操作数据库的规范(接口); 2)数据库驱动: 各个数据库厂商要让java语言去操作数据库就必须实现这套接口,每个数据库都写有一套实现类叫数据库驱动. 3)使用: //导入mysql数据库jar包 //将jar放在lib目录下 右键add--->builderpath //加载驱动 Class.forName("com.mysql.jdbc.Driver");

java操作数据库的3中基本方式

//jdbc提取出来的工具类 package utils; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.u

用Java操作数据库Datetime数据

Date.Calendar.Timestamp的区别.相互转换与使用 1 Java.util.Date 包含年.月.日.时.分.秒信息. 1 // String转换为Date 2 String dateStr="2013-8-13 23:23:23"; 3 String pattern="yyyy-MM-dd HH:mm:ss"; 4 DateFormate dateFormat=new SimpleDateFormat(pattern); 5 Date date=

java操作数据库:分页查询

直接上.... 还是用之前的goods表,增加了一些数据 1.实体类Goods // 封装数据 public class Goods { private int gid; private String gname; private String gprice; private String gdate; public int getGid() { return gid; } public void setGid(int gid) { this.gid = gid; } public String

java操作数据库出现(][SQLServer 2000 Driver for JDBC]Error establishing socket.)的问题所在即解决办法

在进行jdbc直接操作数据库时    : 我们需要对该工程进行一次导包(引入"msbase.jar" "mssqlserver.jar" "msutil.jar"  这三个包,具体的做法为  )                         用手标选中我们要导入包的项目,点击右键出现了一些列的列表,选中 Properties ,继而在该面板中选中Java Bukid Path,然后再选中 Add External Jars ,最后选中我们要导入

Java操作数据库实现&quot;增删改查&quot;

本文主要讲解JDBC操作数据库    主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一   DriverManager类 DriverManage类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动之间建立连接,DriverManager类中的方法都是静态方法,下列是DriverManager的常用方法: getConnection(String URL,String user,String

java操作数据库的基本方法

此次开发工具为eclipse,才有的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步,在eclipse的工程目录中引用mysql驱动 驱动下载地址:https://dev.mysql.com/downloads/connector/j/ 选择build path 然后选择configure build path 再选择libraries,选择add external library,找到之前下的数据库驱动,确认,ok 然后下一段测试代码将数据库驱动起来 p

java操作数据库的通用的类

package cn.dao; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;

java操作数据库增删改查的小工具--TxQueryRunner

在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样的,特点是支持事务,使用时需要导入几个jar包,分别是 : 这个工具类的优点基本上就是阿帕奇出的DBUtils框架里边所具有的特点,极大简化操作者的代码量,底层使用c3p0连接池,可以方便的吧数据库查询出来的结果映射到JavaBean,List,Map等中,以下是笔记及代码: import java