说明书(项目搭建)案例.doc
文本预览下载声明
小工具
2 JdbcUtils
JdbcUtils用来获取Connection对象,以及开启和关闭事务。
Connection getConnection():从c3p0连接池获取Connection对象,所以需要提供c3p0-config.xml配置文件;
beginTransaction():为当前线程开启事务;
commitTransaction():提交当前线程的事务;
rollbackTransaction():回滚当前线程的事务;
releaseConnection(Connection):如果参数连接对象不是当前事务的连接对象,那么关闭它,否则什么都不做;
c3p0-config.xml
?xml version=1.0 encoding=UTF-8 ?
c3p0-config
default-config
property name=jdbcUrljdbc:mysql://localhost:3306/mydb1/property
property name=driverClasscom.mysql.jdbc.Driver/property
property name=userroot/property
property name=password123/property
property name=acquireIncrement3/property
property name=initialPoolSize10/property
property name=minPoolSize2/property
property name=maxPoolSize10/property
/default-config
/c3p0-config
JdbcUtilsTest.java
/**
* 测试JdbcUtils类
* @author qdmmy6
*
*/必先利其器 /**
* 随机生成32位长的字符串,通常用来做实体类的ID
*/
@Test
public void testUuid() {
String s = CommonUtils.uuid();//生成随机32位长的字符串
System.out.println(s);
}
/**
* 把Map类型映射成Bean类型。
* 要求map中键的名称与Person类的属性名称相同。
* 即map的key分别为:pid、name、age、birthday,person的属性名称也是pid、name、age、birthday
*/
@Test
public void testToBean() {
MapString,String map = new HashMapString,String();
/*
* map的key:pid、age、birthday、myname
* person的属性:pid、age、birthday、name
* map中没有名为name的键值,而多出一个名为myname的键值,所以映射后的person对象
Person p = CommonUtils.toBean(map, Person.class);
System.out.println(p);
}
public class JdbcUtilsTest {
/**
* 通过C3P0连接池获取连接对象
* @throws SQLException
*/
@Test
public void testGetConnection() throws SQLException {
Connection con = JdbcUtils.getConnection();//获取连接
System.out.println(con);
JdbcUtils.releaseConnection(con);//如果参数con不是当前线程的连接对象,那么关闭之
}
/**
* 当开始事务后,调用getConnection()会为当前线程创建Connection,而且多次调用getConnection()返回的是同一个对象
* @throws SQLException
*/
@Test
public void testTansaction() throws SQLException {
JdbcUtils.beginTransaction();//开启事务
Connection c1 = JdbcUtils.getConnection();//第一次获取当前线程的事务连接对象
Connection c2 =
显示全部