JAVA通用工具类(一)

1.CommonUtils

CommonUtils类中两个方法:

l  String uuid():生成长度32的随机字符,通常用来做实体类的ID。底层使用了UUID类完成;

l  T toBean(Map, Class<T>):把Map转换成指定类型的Bean对象。通常用来获取表单数据(request.getParameterMap())封装到JavaBean中,底层使用了common-beanutils。注意,本方法要求map中键的名称要与Bean的属性名称相同才能完成映射,否则不能完成映射。

/**
	 * 随机生成32位长的字符串,通常用来做实体类的ID
	 */
	@Test
	public void testUuid(){
		String s = CommonUtils.uuid();
		System.out.println(s);
	}
	
	/**
	 * 作用:把一个map的数据封装到javabean中
	 * 要求:map中的key名称与javabean中属性名称相同
	 */
	@Test
	public void testToBean(){
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("pid", 123);
		map.put("pname", "张珊");
		map.put("age", 23);
		
		Person p = CommonUtils.toBean(map, Person.class);
		System.out.println(p);
	}


2.JdbcUtils

JdbcUtils用来获取Connection对象,以及开启和关闭事务。

l  Connection getConnection():从c3p0连接池获取Connection对象,所以需要提供c3p0-config.xml配置文件;

l  beginTransaction():为当前线程开启事务;

l  commitTransaction():提交当前线程的事务;

l  rollbackTransaction():回滚当前线程的事务;

l  releaseConnection(Connection):如果参数连接对象不是当前事务的连接对象,那么关闭它,否则什么都不做;

/**
	 * JdbcUtils获取连接
	 * @throws Exception
	 */
	@Test
	public void testGetConnection() throws Exception{
		Connection con = JdbcUtils.getConnection();
		System.out.println(con);
		JdbcUtils.releaseConnection(con);
		System.out.println(con.isClosed());
	}
	/**
	 * 与事务相关
	 */
	public void testTransaction(){
		try {
			JdbcUtils.beginTransaction();//开启事务
			
			//多次操作
			
			JdbcUtils.commitTransaction();//提交事务
			
		} catch (SQLException e) {
			try {
				JdbcUtils.rollbackTransaction();//事务回滚
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
	}

c3p0-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
	<default-config> 
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="user">root</property>
		<property name="password">root</property>
		
		<property name="acquireIncrement">3</property>
		<property name="initialPoolSize">10</property>
		<property name="minPoolSize">2</property>
		<property name="maxPoolSize">10</property>
	</default-config>
</c3p0-config>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值