作为一项家庭作业(我是初学者),我不得不编写一个访问数据库的Java程序。该程序可以,例如,插入新用户,增加一些字段等,而我有诸如addUser(User t)
,deleteUser(User t)
之类的方法。
其中许多方法使用executeUpdate()
,public class UserDaoImpl{
public Integer rowsAffectedByLastUpdate;
...
public void addUser(UserDto user) {
...
rowsAffectedByLastUpdate = prep.executeUpdate();
...
}
}
执行更新并返回一个整数,即受更新影响的数据库中的行数。
在相应的测试方法中(使用Junit5),我使用此整数值进行检查。 我的问题是:将受影响的行数传达给测试方法的最佳方法是什么?
我现在所拥有的(综合)如下:
rowsAffectedByLastUpdate
因此,我将void addUser
设置为一个类变量,然后可以从其他位置访问该类变量(我实际上将其声明为私有并使用吸气剂,但想法是相同的)。这对于执行目的是有效的,但有人向我指出,在多线程上下文中,此方法不再有效。
我可以简单地将方法从Integer addUser
修改为UserDaoImpl
,但由于我的数据库访问类addUser
实现了一个接口(该接口不应该是特定于数据库的),因此我很犹豫void
被声明为angular.module('vistalyticsApp').
directive('onReadFile', function ($parse) {
return {
restrict: 'A',
scope: false,
link: function(scope, element, attrs) {
var fn = $parse(attrs.onReadFile);
element.on('change', function(onChangeEvent) {
var reader = new FileReader();
reader.onload = function(onLoadEvent) {
scope.$apply(function() {
fn(scope, {$fileContent:onLoadEvent.target.result,$fileName:onChangeEvent.target.files[0].name});
});
};
reader.readAsText((onChangeEvent.srcElement || onChangeEvent.target).files[0]);
});
}
};
});
。还有其他更好的方法来实现我想要的吗?