嗨,我正在开发一个使用hibernate连接到存储文件的mysql数据库的spring mvc应用程序.
我有两种方法.一个添加我选择的特定文件路径中的所有文件,另一个调用查询的方法返回一个从mysql存储的文件列表.
问题是这个.当我自己执行第一个方法,即填充数据库,它工作正常我可以从mysql命令行看到该表的内容.然而,当我在填充后立即执行查询方法时,该表的内容立即完全消失.它就好像hibernate只将数据存储在mysql中暂时或在mysql中的某个地方,它删除了数据imediatly并没有保留它们.
这是填充表格的方法:
/**
* Test Method: ideal for another class to do this kind of work and this
* pass the FileObject into this class
*/
public void addSomeFiles() {
System.out.println("addSomeFiles");
File dir = new File(picturesPath);
String[] fileNames = dir.list();
for (int i = 0; i < fileNames.length; i++) {
System.out.println(fileNames[i]);
File file = new File(picturesPath + "\\" + fileNames[i]);
if (file.isFile()) {
FileObject fileO = contstructFileObject(file);
if (fileO == null) {
System.out.println("fileO is null!!!!!");
} else …Run Code Online (Sandbox Code Playgroud) 我已经开始使用TransactionScope来帮助我进行单元测试,以便将我的测试数据库恢复到之前的状态.使用这个与SpecFlow,我有一个像这样的基类:
public class TransactionScopedFeature
{
private TransactionScope Scope { get; set; }
[BeforeScenario]
public void BaseSetup()
{
this.Scope = new TransactionScope(TransactionScopeOption.RequiresNew);
}
[AfterScenario]
public void BaseCleanup()
{
if (this.Scope != null)
{
this.Scope.Dispose();
}
}
}
Run Code Online (Sandbox Code Playgroud)
所有上述工作,当我向数据库添加记录时,当我在测试完成后查询表时,这些表是空的.伟大的东西,非常聪明!
我的问题与这些表中的标识列有关.我注意到的是,当我多次运行我的测试时,我的测试表的ID列增加1.我假设由于TransactionScope将回滚更改,因此身份种子也将被回滚.
我做错了这个假设 - 这就是数据库的工作原理吗?如果是这种情况,我也可以在每个执行此操作的方案之前运行SQL脚本:
DBCC CHECKIDENT ('dbo.Items', reseed, 0)
我只是想检查一下我做错了什么,或者这是正常的数据库行为.
干杯.雅.
我有一个传递像这样的对象的测试:
var repo = new ActualRepo();
var sut = new Sut(repo);
Run Code Online (Sandbox Code Playgroud)
在我的测试中,Repo有一个我需要实际执行的方法,而另一个我想模拟而不执行的方法。
因此,例如,使用以下伪代码:
var repo = new Mock<IRepo>();
repo.Setup(m => m.MethodIWantToCall()).WillBeExecuted();
repo.Setup(m => m.MethodIWantToMock()).Returns(false);
Run Code Online (Sandbox Code Playgroud)
使用最小起订量,这有可能吗?如何完成?
编辑:我过去使用过TypeMock,您可以做类似的事情。
Isolator.When(() => repo.MethodToIgnore()).WillBeIgnored();
Isolator.When(() => repo.MethodToActuallyRun()).WillBeExecuted();
Run Code Online (Sandbox Code Playgroud) 是否有使用HTML渲染人体图像(正面和背面)的示例?
我们有一个现有的解决方案,它使用JPG图像,map,area和svg标签来渲染人体,并允许用户将鼠标光标悬停在它们上面并选择一个区域.
我们遇到的问题是这种效果似乎在较新的浏览器中运行良好,但对于IE7,8和9,悬停效果根本不起作用.
我们愿意采用不同的方法来做到这一点,我很难找到任何例子.
<% if (Session["desig"].ToString() == "Developer"){%>
<td>
<select name='zone' id="zone" onchange="showLoc(this.value,'mlodg_loc')">
<option value="Select Zone">Select Zone</option>
<option value="East">East</option>
<option value="West">West</option>
<option value="North">North</option>
<option value="South1">South1</option>
<option value="South2">South2</option>
<option value="South3">South3</option>
</select>
</td>
<%}
else
{%>
<td>
<select name='zone' id="Select1" onchange="showLoc(this.value,'mlodg_loc')">
<option value="Select Zone">Select Zone</option>
<option value="<%#Session["zone"]%>"><%# Session["zone"].ToString() %></option>
</select>
</td>
<%}%>
Run Code Online (Sandbox Code Playgroud)
如果我直接写它,上面的代码工作正常,我试图在其他文件和我做的主文件中编写此代码 Response.WriteFile("zone.aspx")
如何包含它是否有任何方式可以包含,也想知道更好的方式来编写上述语句.
谢谢
我有一个表单流对话框,其中包含以下问题定义为枚举
public enum PreviousOwnerOptions
{
[Describe("Owned from new")]
[Terms("0", "new", ".*[O|o]wned from new")]
OwnedFromNew = 0,
[Terms("1", "One")]
One,
[Terms("2", "Two")]
Two,
[Terms("3", "Three")]
Three,
[Terms("4", "Four")]
Four,
[Terms("5", "Five")]
Five,
[Terms("6", "Six")]
Six,
[Describe("More than six")]
[Terms(".*More than six", "more")]
MoreThanSix
}
Run Code Online (Sandbox Code Playgroud)
以下是用户对问题的看法......
我遇到的问题是,如果输入数字"3"作为答案,那么响应是这样的......
看起来机器人不确定我的意思是在第3位或答案"三".我认为这个Terms属性可以解决这个问题吗?
我该如何解决这个问题?
我是Unity 2.0的AOP功能的第一次使用者,并希望得到一些建议.我的目标是能够在ASPX页面中记录方法调用,如下所示:
public partial class Page2 : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[Log]
private void Testing()
{
}
}
Run Code Online (Sandbox Code Playgroud)
这是以下代码LogAttribute:
public class LogAttribute : HandlerAttribute
{
public override ICallHandler CreateHandler(IUnityContainer container)
{
return new LogHandler(Order);
}
}
Run Code Online (Sandbox Code Playgroud)
现在LogHandler:
public class LogHandler : ICallHandler
{
public LogHandler(int order)
{
Order = order;
}
public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
{
string className = input.MethodBase.DeclaringType.Name;
string methodName = input.MethodBase.Name;
string preMethodMessage = string.Format("{0}.{1}", …Run Code Online (Sandbox Code Playgroud) 我正在玩Trello API,我正在慢慢掌握它.我被困在一块,我设法在一个speicifc列表中创建一张新卡,但我想解析我从"createCard"调用得到的响应,例如获取新卡的ID.
这是我的Trello创建卡片帖子:
Trello.post("cards", { name: "Card Created from MVC", desc: "This is the description of the card.", idList: "??????????" }).done(onCardCreated());
Run Code Online (Sandbox Code Playgroud)
idList由于安全原因,我省略了真正的价值.
我可以在我的Trello板上立即看到该卡.我通过此调用得到的响应如下所示:
jQuery1510518084118841216_1327764237952({"id":"????","name":"Card Created from MVC","desc":........)
Run Code Online (Sandbox Code Playgroud)
我期待看到JSON返回喜欢这个:
{"id":"????","name":"Card Created from MVC","desc":....}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,JSON就是这个jQuery1510518084118841216_1327764237952东西.
有些人可以告诉我jQuery的用途是什么,以及如何获取其中的JSON数据?
我可能在这里遗漏了一些东西,但在ASP.NET MVC 4中,我无法使用以下内容.
给出以下控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string order1, string order2)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
它的观点是:
@{
ViewBag.Title = "Home";
}
@using (Html.BeginForm())
{
@Html.TextBox("order1")<br />
@Html.TextBox("order2")
<input type="submit" value="Save"/>
}
Run Code Online (Sandbox Code Playgroud)
启动应用程序时,我得到的只是:
控制器类型'HomeController'上的当前操作请求'Index'在以下操作方法之间是不明确的:System.Web.Mvc.ActionResult类型ViewData.Controllers.HomeController上的索引()System.Web.Mvc.ActionResult索引(系统. String,System.String),类型为ViewData.Controllers.HomeController
现在,在ASP.NET MVC 3中,上面工作正常,我只是尝试过,所以在ASP.NET MVC 4中有什么改变来打破这个?
好吧,我可能有机会在这里做些傻事,而不是注意到它.
编辑:
我注意到在MVC 4应用程序中,Global.asax.cs文件不包含这个:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题.我CommentinfoModel是从服务器获取数据,我能够在视图中显示所有数据.我用另一个PostwallModel在同一视图中发布数据.
当我发布数据时,我从服务器获得响应,但该数据不会出现在模板中.当我转到另一页并回来时,会显示新发布的数据.完成后的帖子操作后如何刷新.这是我的代码:
var myPostwallView = Backbone.View.extend({
el: $("#content"),
events: {
'click #postinwall': 'postmessage',
},
initialize: function () {
var that = this;
var options = {
query: uni_id + "/chaid/" + currentChallenge['id']
}
var onDataHandler = function (collection) {
that.render();
}
var onErrorHandler = function (collection) {
var errorstring = JSON.stringify(collection);
console.log(errorstring);
}
this.model = new CommentinfoModel(options);
this.model.fetch({
success: onDataHandler,
error: onErrorHandler,
dataType: "json"
});
},
render: function () {
$('.nav li').removeClass('active');
$('.nav li a[href="' + …Run Code Online (Sandbox Code Playgroud) .net ×2
aop ×1
api ×1
asp.net ×1
backbone.js ×1
botframework ×1
c# ×1
database ×1
hibernate ×1
html ×1
java ×1
javascript ×1
jquery ×1
jsonp ×1
moq ×1
orm ×1
response ×1
transactions ×1
trello ×1
unit-testing ×1