`
bestxiaok
  • 浏览: 453576 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdbcutil连接数据库

阅读更多

JdbcUtils

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;



public class JdbcUtil {
	private static String url = "jdbc:sqlserver://localhost:1433;DataBaseName=db_test";
	private static String username = "sa";
	private static String password = "sa";
	private static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

	public JdbcUtil() {
		super();
		// TODO Auto-generated constructor stub
	}

	static {
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static Connection getConnection() throws SQLException {
		return DriverManager.getConnection(url, username, password);
	}

	public static void close(ResultSet rs, Statement st, Connection conn) {
		try {
			if (rs != null) {
				rs.close();

			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				if(st!=null){
					st.close();
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				if(conn!=null){
					try {
						conn.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}

	}

}

 

Crude。java

package jdbcConnection;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

import utils.JdbcUtil;

public class CrudTest {

	private static void add() throws SQLException {
		// TODO Auto-generated method stub
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = JdbcUtil.getConnection();
			String sql = "insert into [user](name,password,email,age,birthday,money) values(?,?,?,?,?,?)";
			ps = conn.prepareStatement(sql);
			ps.setString(1, "psName");
			ps.setString(2, "psPassword");
			ps.setString(3, "jkjs@126.com");
			ps.setInt(4, 23);
			ps.setDate(5, new java.sql.Date(new java.util.Date().getDate()));
			ps.setFloat(6, 2344);
			ps.executeUpdate();
		} finally {
			JdbcUtil.close(rs, ps, conn);
		}

	}

	private static void get() throws SQLException {
		// TODO Auto-generated method stub
		Connection conn=null;
		PreparedStatement ps =null;
		ResultSet rs = null;
		try {
			conn= JdbcUtil.getConnection();
			 String sql = "select id,name,password,email,birthday,money from [user]"; 
			 ps = conn.prepareStatement(sql);
			 rs= ps.executeQuery();
			 while(rs.next()){   
		            int id= rs.getInt("id");   
		            String name =rs.getString("name");   
		            String pass=rs.getString("password"); 
		            String email = rs.getString("email");
		            Date birthday =rs.getDate("birthday"); 
		            float money= rs.getFloat("money");
		            System.out.println("id是:"+id+"姓名是: "+name+" 密码是:"+pass+"邮箱是:"
		            		+email+"生日是: "+birthday+"工资是"+money);   
		        }   
			
		} finally{
			JdbcUtil.close(rs, ps, conn);
		}
		
	}

	private static void update() throws SQLException {
		// TODO Auto-generated method stub
		Connection conn=null;
		PreparedStatement ps =null;
		ResultSet rs = null;
		try {
			conn= JdbcUtil.getConnection();
			String sql = "update [user] set name='lucy',password='123',money=5000 where id=1";
			ps= conn.prepareStatement(sql);
			ps.executeUpdate();
			
		} finally{
			JdbcUtil.close(rs, ps, conn);
		}
		
	}

	private static void delete() throws SQLException {
		// TODO Auto-generated method stub
		Connection conn=null;
		PreparedStatement ps =null;
		ResultSet rs = null;
		try {
			conn= JdbcUtil.getConnection();
			String sql = "delete from [user] where id=1";
			ps= conn.prepareStatement(sql);
			ps.executeUpdate();
			
		} finally{
			JdbcUtil.close(rs, ps, conn);
		}
		
	}
}

 Jdbc事务管理

模拟银行取帐

TransferTest.java

package test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import util.JdbcUtil;

public class TransactionTest {
	public static void main(String[] args)throws SQLException {
		transferTest();
		
	}
	public static void transferTest()throws SQLException{
		int id1 =3;
		float m1= 100.0f;
		int id2 = 4;
		transfer2(id1,m1,id2);
	}
	
	public static boolean transfer2(int id1,float m1,int id2)throws SQLException{
		boolean flag = false;
		Connection conn =null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = JdbcUtil.getConnection();
			conn.setAutoCommit(false);
			String sql = "update [user] set money = money=? where id = ?";
			ps= conn.prepareStatement(sql);
			ps.setFloat(1, m1);
			ps.setInt(2, id1);
			ps.executeUpdate();
			
			
			
			String sql1 = "update [user] set money = money+? where id = ?";
			ps= conn.prepareStatement(sql);
			ps.setFloat(1, m1);
			ps.setInt(2, id2);
			ps.executeUpdate();
			
			conn.commit();
		} catch (SQLException e) {
			// TODO 自动生成 catch 块
			conn.rollback();
			throw e;
		}finally{
			JdbcUtil.close(rs, ps, conn);
		}
		return flag;
		
		
	}
	

}

 必须有回滚处理

否则可能会造成数据混乱!

1
1
分享到:
评论

相关推荐

    jdbcUtil一个工具类

    `JdbcUtil` 类是常见的Java开发中用于简化数据库操作的工具类,它封装了数据库连接的创建、关闭等繁琐过程,使代码更加简洁且易于管理。在本篇文章中,我们将深入探讨`JdbcUtil`类的原理及其在实际应用中的作用。 ...

    自己写的jdbcUtil

    通过JDBCUtils这个文件名,我们可以推测这个类可能包含了一些常用的数据库操作方法,如连接数据库、执行SQL语句、处理结果集、关闭资源等。在实际开发中,这样的工具类有助于提高代码的可复用性和可维护性,同时减少...

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题)

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User....

    JdbcUtil.zip_JDBCUtil.java_jdbcUtil

    5. **资源的关闭**:为了防止资源泄露,`JdbcUtil`通常会包含一个`closeQuietly()`方法,用于优雅地关闭数据库连接、Statement或ResultSet。 在初学者阶段,使用`JdbcUtil`有助于理解数据库操作的基本流程,并避免...

    JDBC连接MySQL数据库实现增删改查(Dao层实现 解决硬编码 配置连接池获得连接对象 )

    工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题 DBCP方式实现连接池、配置连接池 ==> 获得连接对象连接数据库) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 ...

    JdbcUtil.rar_jdbcUtil_jdbcut

    JdbcUtil是一个常见的实用类,用于封装数据库连接、查询、更新等基本操作,以提高代码的可读性和可维护性,避免资源泄露。在给定的"JdbcUtil.rar_jdbcUtil_jdbcut"压缩包中,包含的文件"JdbcUtil"可能是这个工具类的...

    JdbcUtil(Jdbc通过工具类)

    1. **连接管理**:JdbcUtil通常包含建立和关闭数据库连接的方法。在`getConnection()`方法中,会使用`DriverManager.getConnection()`来初始化数据库连接。为了防止资源泄露,还需要提供`closeConnection()`方法来...

    JDBCUtil.rar_jdbcUtil

    `JDBCUtil`通常是指一个实用工具类,它封装了与数据库交互的常见操作,如建立连接、执行SQL语句、处理结果集等。这个`JDBCUtil.rar_jdbcUtil`压缩包可能包含了实现这些功能的代码示例。接下来,我们将深入探讨JDBC...

    Java之JDBC连接MySQL数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement)

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬...

    Java读取properties文件连接数据库的方法示例

    Java读取properties文件连接数据库的方法示例 本篇文章主要介绍了Java读取properties文件连接数据库的方法示例,该方法可以提高代码的复用性和灵活性。 在Java中,连接数据库的方式有很多,但是一般来说,我们都会...

    jdbcutil.java

    `JdbcUtil.java` 是一个Java类,用于简化使用...总的来说,`JdbcUtil` 类提供了一个基础的数据库访问框架,简化了数据库连接、查询结果处理和资源管理的过程,使得开发者可以更专注于SQL语句的编写和业务逻辑的实现。

    达梦数据库JDBC

    达梦数据库JDBC(Java Database Connectivity)是连接Java应用程序与达梦数据库系统的重要桥梁,它允许Java开发者在Java程序中执行SQL语句,实现对达梦数据库的数据操作。达梦数据库是中国自主研发的一款高性能、高...

    Java使用jdbc连接MySQL数据库实例分析

    定义一个使用jdbc连接数据库的工具类JdbcUtil.java,用于读取配置文件内容和注册驱动程序。该类包括: * 全局变量:url、user、password、driverClass * 静态代码块:用于读取配置文件内容和注册驱动程序 * get...

    Java数据库操作类20170703

    本资料"Java数据库操作类20170703"聚焦于利用Java进行数据库交互,并且支持多种类型的数据库,包括Excel、Access、MSSQLServer、MySQL、Oracle以及通过JDBC-ODBC桥连接的其他数据库。它特别强调了使用数据库连接池来...

    java高效开发小工具-jdbcutil2

    将java开发过程中连接数据库的过程封装,简化dao层的代码,可以大大提高开发效率。本工具主要遵循"既有默认规则,又可灵活配置"的原则,通过编写通用的basedao,实现通用的数据库连接过程,通过配置文件实现连接指定...

    JdbcUtil_2.rar_jdbcut

    在描述中提到的“用jdbc连接数据库的小模块,省去了繁琐的步骤,一个方法就搞定”,这表明`JdbcUtil_2.java` 文件提供了一个功能强大的静态方法,该方法可能封装了整个数据库连接、执行SQL语句和关闭资源的流程。...

    Java-JDBC【源码】数据库连接池技术、常规操作与Durid对比、测试(20-200)不同连接数下,10万记录,1万并发

    Java-JDBC【源码】数据库连接池技术、常规操作与Durid对比、测试(20-200)不同连接数下,10万记录,1万并发,CPU磁盘占用情况 1.数据库连接池 2.Durid介绍(官方文档) 3.编码,问题,常规并发操作 3.1.JDBCUtil....

    利用JDBC工具类的方式实现mysql数据库的连接并且完成登录相关功能

    本教程将详细讲解如何利用JDBC工具类来建立MySQL数据库的连接,并实现登录功能。 首先,我们需要确保已经安装了MySQL数据库并创建了一个用户表,该表至少包含用户名(username)和密码(password)两个字段,用于...

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题).rar

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User....

Global site tag (gtag.js) - Google Analytics