验证中...
私信发送成功
片段 1 片段 2 片段 3 片段 4 片段 5 片段 6 片段 7
首先在pom.xml下组建相关依赖,注意某些报错是因为各组件版本不同导致
原始数据 复制代码
1、Junit
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
2、dbutils
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
3、MySQL
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
4、common
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
5、pool
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
添加本地仓库地址
原始数据 复制代码
<repositories>
<repository>
<id>abc</id>
<url>http://www.baidu.com/repository/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
buildpath--Junit,编写数据库连接配置文件
原始数据 复制代码
#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://databaseurl?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true
username=root
password=root
#初始化连接
initialSize=100
#最大连接数量
maxActive=50
#最大空闲连接
maxIdle=20
#最小空闲连接
minIdle=5
#超时等待时间以毫秒为单位6000毫秒/1000等于60秒
maxWait=60000
#JDBC驱动建立连接时附带的连接属性,属性的格式必须为这样:[属性名=property;]
#注意:"user"与"password"两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driverdefault指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driverdefault指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED,READ_COMMITTED,REPEATABLE_READ,SERIALIZABLE
defaultTransactionIsolation=READ_COMMITTED
编写DBUtils数据库连接类
原始数据 复制代码
package com;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
public class JdbcUtils {
private static DataSource ds;
private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); //map
public static DataSource getDataSource(){
if(ds == null){
try{
Properties prop = new Properties();
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
prop.load(in);
ds = BasicDataSourceFactory.createDataSource(prop);
}catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
return ds;
}
public static Connection getConnection() throws SQLException{
try{
//得到当前线程上绑定的连接
Connection conn = tl.get();
if(conn==null){ //代表线程上没有绑定连接
conn = ds.getConnection();
tl.set(conn);
}
return conn;
}catch (Exception e) {
throw new RuntimeException(e);
}
}
}
添加实体类
原始数据 复制代码
package com
import java.util.Date;
/**
* 实体类
*/
public class Abc {
private String id; // 主键ID
private String remarks; // 备注
private String createBy; // 创建者
private Date createDate; // 创建日期
private String updateBy; // 更新者
private Date updateDate; // 更新日期
private String delFlag; // 删除标记(0:正常;1:删除;2:审核)
/* 省去getter、setter方法 */
}
编写测试方法和Junit测试方法
原始数据 复制代码
1、main方法
public static void main(String[] args) {
TestDbutils td = new TestDbutils();
try {
List<Abc> list = td.getAll();
for (Abc abc : list) {
System.out.println(abc.getCreateBy());
}
} catch (Exception e) {
e.printStackTrace();
}
}
2、Junit测试方法
@Test
public void testGetAll() {
TestDbutils td = new TestDbutils();
try {
td.getAll();
} catch (Exception e) {
fail("Not yet implemented");
e.printStackTrace();
}
}
注意事项
原始数据 复制代码
1、各依赖版本需要匹配合适,避免出现一些错误
2、数据库连接配置参数和值要出去空格
3、数据库配置文件需要放置在外目录下
4、后期可以加上数据库连接池配置

评论列表( 0 )

你可以在登录后,对此项目发表评论