NHibernate没法把对象存进数据库的表,该表有一个外键

我是一个初学者。
NHibernate没法把对象存进数据库的role表,也取不出数据,该表有一个外键关联到user表。我认为是这个表外键导致存不进去的。因为我另一部分程序顺利地访问了我的数据库的user表。以下是存进数据库的程序代码和报的错
public class RoleManager
{
public void AddRole(Role role)
{
using (var session = NHibernateHelper.getSession())
{
using (var transaction = session.BeginTransaction())
{
session.Save(role);//报错
transaction.Commit();
}
}

}
class RoleMap:ClassMap
{
public RoleMap()
{
Id(x => x.Id).Column("Id");//主键
Map(x => x.Name).Column("name");
Map(x => x.Level).Column("level");
Map(x => x.IsMan).Column("isman");
Map(x => x.RolePrefabName).Column("roleprefabname");
References(x => x.User).Column("userid");//外键
Table("role");
}
}
public class Role
{
public virtual int Id { set; get; }//主键
public virtual string Name{ set; get; }
public virtual int Level { set; get; }
public virtual bool IsMan { set; get; }
public virtual string RolePrefabName { set; get; }
public virtual Users User { set; get; }//外键
}
报错信息
2018-01-11 17:35:27,710 [10] INFO BaiLaoDaServer.BaiLaoDaPeer [(null)] - handler from operation code is isExit:1
2018-01-11 17:35:46,440 [10] INFO BaiLaoDaServer.BaiLaoDaPeer [(null)] - handler from operation code is isExit:0
2018-01-11 17:35:46,450 [10] INFO BaiLaoDaServer.Handlers.LoginHandler [(null)] - BaiLaoDaPeer.user=11ytbai
2018-01-11 17:35:46,480 [6] INFO BaiLaoDaServer.BaiLaoDaPeer [(null)] - handler from operation code is isExit:3
2018-01-11 17:35:46,480 [6] ERROR Photon.SocketServer.PeerBase [(null)] - NHibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing or set cascade action for the property to something that would make it autosave. Type: BaiLaoDaCommon.Model.Users, Entity: BaiLaoDaCommon.Model.Users
在 NHibernate.Engine.ForeignKeys.GetEntityIdentifierIfNotUnsaved(String entityName, Object entity, ISessionImplementor session)
在 NHibernate.Type.ManyToOneType.NullSafeSet(IDbCommand cmd, Object value, Int32 index, ISessionImplementor session)
在 NHibernate.Param.CriteriaNamedParameterSpecification.Bind(IDbCommand command, IList1 multiSqlQueryParametersList, Int32 singleSqlParametersOffset, IList1 sqlQueryParametersList, QueryParameters queryParameters, ISessionImplementor session)
在 NHibernate.Param.CriteriaNamedParameterSpecification.Bind(IDbCommand command, IList`1 sqlQueryParametersList, QueryParameters queryParameters, ISessionImplementor session)
在 NHibernate.SqlCommand.SqlCommandImpl.Bind(IDbCommand command, ISessionImplementor session)
在 NHibernate.Loader.Loader.PrepareQueryCommand(QueryParameters queryParameters, Boolean scroll, ISessionImplementor session)
在 NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
在 NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
在 NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
在 NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
在 NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
在 NHibernate.Impl.CriteriaImpl.List(IList results)
在 NHibernate.Impl.CriteriaImpl.ListT
在 BaiLaoDaServer.DB.Managers.RoleManager.GetRolesByUser(Users user) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\DB\Managers\RoleManager.cs:行号 23
在 BaiLaoDaServer.Handlers.RoleHandler.OnHandlerMessage(OperationRequest request, BaiLaoDaPeer peer) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\Handlers\RoleHandler.cs:行号 34
在 BaiLaoDaServer.BaiLaoDaPeer.OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\BaiLaoDaPeer.cs:行号 39
在 Photon.SocketServer.PeerBase.OnReceive(Byte[] data, SendParameters sendParameters) 位置 h:\svncontent\photon-socketserver-sdk_3.4\src\Photon.SocketServer\PeerBase.cs:行号 963
在 Photon.SocketServer.PeerBase.OnReceiveInternal(Byte[] data, SendParameters sendParameters, Int32 rtt, Int32 rttVariance, Int32 numFailures) 位置 h:\svncontent\photon-socketserver-sdk_3.4\src\Photon.SocketServer\PeerBase.cs:行号 749
2018-01-11 17:36:14,502 [16] INFO BaiLaoDaServer.BaiLaoDaPeer [(null)] - handler from operation code is isExit:3
2018-01-11 17:36:14,506 [16] INFO BaiLaoDaServer.DB.Managers.RoleManager [(null)] - sdfg/1/0/girl_stand/11ytbai
2018-01-11 17:36:14,514 [16] ERROR Photon.SocketServer.PeerBase [(null)] - NHibernate.Exceptions.GenericADOException: could not insert: [BaiLaoDaCommon.Model.Role][SQL: INSERT INTO role (name, level, isman, roleprefabname, userid) VALUES (?, ?, ?, ?, ?)] ---> MySql.Data.MySqlClient.MySqlException: Column 'userid' cannot be null
在 MySql.Data.MySqlClient.MySqlStream.ReadPacket()
在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
在 NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd)
在 NHibernate.Id.Insert.AbstractSelectingDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
--- 内部异常堆栈跟踪的结尾 ---
在 NHibernate.Id.Insert.AbstractSelectingDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Object obj, ISessionImplementor session)
在 NHibernate.Action.EntityIdentityInsertAction.Execute()
在 NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
在 NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event)
在 NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
在 NHibernate.Impl.SessionImpl.Save(Object obj)
在 BaiLaoDaServer.DB.Managers.RoleManager.AddRole(Role role) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\DB\Managers\RoleManager.cs:行号 35
在 BaiLaoDaServer.Handlers.RoleHandler.OnHandlerMessage(OperationRequest request, BaiLaoDaPeer peer) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\Handlers\RoleHandler.cs:行号 44
在 BaiLaoDaServer.BaiLaoDaPeer.OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters) 位置 D:\PhontonServerWorkspace\BaiLaoDaServer\BaiLaoDaServer\BaiLaoDaPeer.cs:行号 39
在 Photon.SocketServer.PeerBase.OnReceive(Byte[] data, SendParameters sendParameters) 位置 h:\svncontent\photon-socketserver-sdk_3.4\src\Photon.SocketServer\PeerBase.cs:行号 963
在 Photon.SocketServer.PeerBase.OnReceiveInternal(Byte[] data, SendParameters sendParameters, Int32 rtt, Int32 rttVariance, Int32 numFailures) 位置 h:\svncontent\photon-socketserver-sdk_3.4\src\Photon.SocketServer\PeerBase.cs:行号 749

7个回答

session.Save(role);
这里调试下role的id字段是不是没有赋值?

MySql.Data.MySqlClient.MySqlException: Column 'userid' cannot be null 提示userid为空。

取出来的时候也报错了。
存进去的时候那个role.User是清空的。

时间在2018-01-11 17:35:46,480到2018-01-11 17:36:14,502 之间是查询数据报的错,而2018-01-11 17:36:14,502 之后的是存进数据报的错

可不可以帮我改一下这个函数public void AddRole(Role role),我传一个完整的role进来,存进数据库

role.User不空也不行。各位大神,有经验的分享一下,或者给点NHibernate的资料也可以的。我是一个初学者,没什么经验。

我是看别人的视频学的,碰到这个问题。人家视频就没问题。我抄人家的程序也不行。

我找到原因了。我存进数据库的User没问题,user的Id是自增长的。但是我查询和保存的时候用的user没设置Id。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
外键必需是另一个表中的主键吗?

外键必需是另一个表中的主键吗?谁能给我分析一下。谢谢

Nhibernate多表查询,不用遍历填充每一个值

有一个person类,里面有个status字段,保存的是人员状态。类型为int 还有一个baseinfo类,里面有name字段,用来保存status的中文如:在职/离职,还有一个value字段,与person类里面的status字段相对应,类型为int 这样做的目的是能够把一些基础数据进行维护。 我的问题是:用nhibernate查询后,如果返回person的List,如何将baseinfo中name字段的值,附加到List中每一个person的status值。 例如: personList=[{name:'张三',sataus:"1"}, {name:'李四',sataus:"-1"}, {name:'王五',sataus:"1"}] 上面这个是利用nhibernate查出来的 而我想要的List是下面这个 personListNew=[{name:'张三',sataus:"1",statusName:'在职'}, {name:'李四',sataus:"-1",statusName:'离职'}, {name:'王五',sataus:"1",statusName:'在职'}] 我现在有的思路是遍历personList,从而得到新的personListNew。但是我想要更好的方法,大家有没有思路呢?

在c#中试用NHibernate发现这个错误,不知怎么解决,Test.Model应该是可用的

未经处理的异常: NHibernate.MappingException: Could not compile the mapping docu ment: Test.Model.Person.hbm.xml ---> System.InvalidOperationException: Could not find the dialect in the configuration 在 NHibernate.Dialect.Dialect.GetDialect(IDictionary`2 props) 在 NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocu ment, String documentFileName) --- 内部异常堆栈跟踪的结尾 --- 在 NHibernate.Cfg.Configuration.LogAndThrow(Exception exception) 在 NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocu ment, String documentFileName) 在 NHibernate.Cfg.Configuration.ProcessMappingsQueue() 在 NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream, String name) 在 NHibernate.Cfg.Configuration.AddResource(String path, Assembly assembly) 在 NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) 在 NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) 在 Console1.Program.Main(String[] args) 位置 c:\Users\alone\documents\visual studio 2015\Projects\Model\Console1\Program.cs:行号 14 请按任意键继续. . . 14行: Configuration config = new Configuration().AddAssembly("Test.Model"); 这是什么错误?该怎么解决

NHibernate连接Sqlite数据库缓慢,如何解决?

C#+winform private IList list_User = SessionFactoryOpHelper.CreateSQLQuery("from User"); 每次运行到这一句就会卡顿很久,大概要1分钟这样子。表格内容也不复杂,大概就50条记录。字段也就5,6个。 找了很久找不到原因,求助有经验的大神。

NHibernate主从表的新增和编辑问题

项目场景:做一个主从表新增编辑的业务。从表的数据我是直接通过前台的js获取新增和编辑的数据放到隐藏于,在点击保存按钮的时候,把前台隐藏域中的所有新增的从表数据和编辑的从表数据通过json反射层对应的从表list。保存代码如下: #region 从表数据 List<AS_ReqOrder_Dtl> listAS_ReqOrder_Dtl = JsonHelp.JsonToClass<List<AS_ReqOrder_Dtl>>("[" + hidReqOrderInfoJson.Value + "]"); if (listAS_ReqOrder_Dtl != null && listAS_ReqOrder_Dtl.Count > 0) { model.List_AS_ReqOrder_Dtl = new HashedSet<AS_ReqOrder_Dtl>();//清空 for (int i = 0; i < listAS_ReqOrder_Dtl.Count; i++) { AS_ReqOrder_Dtl modelDtl = listAS_ReqOrder_Dtl[i]; modelDtl.AS_ReqOrder = model; modelDtl.IsDel = false; if (modelDtl.Version==0) { modelDtl.CreateBy = WebLoginUserInfo.ID.ToStr(); modelDtl.CreateDate = DateTime.Now; modelDtl.Sort = 0; } else { modelDtl.ModifyBy = WebLoginUserInfo.RealName; modelDtl.ModifyDate = DateTime.Now; } model.AddAS_ReqOrder_Dtl(modelDtl); } } #endregion if (reqID.IsNullOrEmpty()) { try { model.Status = iState; model.OrgID = OrgID.Value.ToInt32(); var result = ServerFactory.AS_ReqOrderServer.SaveModel(model).ToInt32(); if (result > 0) { AlertJsMsg("添加成功", "ReqOrdeList.aspx"); } else { AlertJsMsg("添加失败", ""); } } catch (Exception ex) { AlertJsMsg("添加失败:" + ex.Message, ""); } } else { try { var result = ServerFactory.AS_ReqOrderServer.UpdateModel(model); if (result) { AlertJsMsg("修改成功", "ReqOrdeList.aspx"); } else { AlertJsMsg("修改失败", ""); } } catch (Exception ex) { AlertJsMsg("修改失败:" + ex.Message, ""); } } 其中model是主表的实体,AS_ReqOrder_Dtl是从表的实体 现在新增没问题,编辑就是死活编辑不了。

NHibernate 保存实体类时无法转换类型

求NHibernate会的请教! 实体类:Userinfo 和 Userinfo.hbm.xml是用codesmith生成的。userinfo属性如下: protected Guid _id; protected string _userName; protected string _password; protected string _email; protected int _state = 0 ; protected string _passwordQuestion; protected string _passwordAnswer; protected string _nick; protected string _realName; protected string _images; protected string _backgroundImage; protected bool _sex; protected string _mobilePhone; protected string _address; protected DateTime _birthday; protected string _loastLoginIP; protected DateTime _regTime; protected int _isDel; protected DateTime _beginTime = DateTime.Now ; protected DateTime _updateTime; protected UserRole _userRole; protected IList _newsCommentsReplies; protected IList _publishNewses; protected IList _newsCommentses; protected IList _userFavorClasses; 我写个userdao 保存实体类 userinfo,代码如下: ICriteria criteria = _session.CreateCriteria(typeof(UserRole)); userInfo.UserRole = (UserRole)criteria.List<UserRole>()[0]; _session.Save(userInfo); _session.Flush(); Save的时候抛出异常: 无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“Syste m.Collections.Generic.IEnumerable`1[System.Object]” 估计是上面实体类的属性与保存时映射的类型不搭配。但都是工具生成的,不知道要怎么改。求解!!

添加成功,但是数据库里面没有这事怎么搞得。。。。。。。。。。。。

添加成功,但是数据库里面没有数据,这是怎么回事?、求解 需要需该数据库吗?、

NHibernate mapping oracle 数据库时字段的数据类型报错

网页跑起来报,Wrong column type in YZGL.XT_XTYH for column yhxm. Found: varchar2, Expected NVARCHAR2(255) 数据字段 public virtual string yhxm { get; set; } mappping 语句 Property(p => p.yhxm, Mapping => { Mapping.Column("yhxm"); 该怎么处理

Fluent NHibernate真的比用NHibernate方便吗?

求各位大神给点意见,还有entity framework与NHibernate比到底那个更好,或者说那个框架更适应用与那种情况![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/83.gif)真的非常纠结,不知道那个更好

NHibernate缓存的问题

问题是这样的,关于一个新增model的方法,代码如下: ISession session = null; try { session = NHibernateHelper.GetCurrentSession(); session.Evict(model); session.Save(model); } catch (Exception ex) { throw ex; } finally { if (session != null) session.Flush(); } 我新增一个model,由于我的id不是自动增长的,因此我新增model的时候需要手动设置一个id。因此当我新增一个model,model的id跟数据库中的某个id重复的时候,他就会报错,说id重复。但是当我更改了一下id再次新增model(此时id跟数据库中不重复)的时候,他还是报id重复的错误。查看log中的sql语句发现sql语句跟之前的sql语句一样id并没有更改。而如果第一次新增model的时候,如果这个id跟数据库中的id不重复,则不会报该错误。并且以后新增model 的时候那个log中的sql语句也没有跟上次的id重复。 我当时第一个想法是缓存,于是我通过 session.Evict(model);清除这个model 的缓存,但是没有效果。于是我换了session.Clear();这次是正确了,但是这样就清除了所有的缓存。请问有没有什么好的办法解决这个问题呢?

C#的NHibernate初始化ISessionFactory

private static ISessionFactory _sessionFactory; public static ISessionFactory InitSessionFactory() { _sessionFactory = Fluently.Configure() .Database(MySQLConfiguration.Standard.ConnectionString(db => db .Server("localhost") .Username("root") .Password("root") .Database("bailaodadb"))) .Mappings(x => x.FluentMappings.AddFromAssemblyOf<NHibernateHelper>()) .BuildSessionFactory(); return _sessionFactory; } public static ISession OpenSession() { if (_sessionFactory==null) { _sessionFactory=InitSessionFactory(); } return _sessionFactory.OpenSession(); } /*异常提示: _sessionFactory=null * 引发的异常:“FluentNHibernate.Cfg.FluentConfigurationException”(位于 FluentNHibernate.dll 中) * “FluentNHibernate.Cfg.FluentConfigurationException”类型的未经处理的异常在 FluentNHibernate.dll 中发生. 其他信息: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail. */ 我想问一下我的代码到底哪里错了,获取不到sessionfactory.

NHibernate多个实体之间的 查询条件Or

如下错误代码生成了查询条件[where (lcAddress.Branch like '%%' or lcAddress.Branch like '%%' ) and (lccompany.CompanyName like '%%') ]: return (List<lcAddress>)NhibernateHelper.ISession.CreateCriteria(typeof(lcAddress)) .Add( Expression.Disjunction() .Add(Expression.Like("Branch", KeyWord, MatchMode.Anywhere)) .Add(Expression.Like("Address", KeyWord, MatchMode.Anywhere)) ) .CreateCriteria("Company") .Add(Restrictions.Like("CompanyName", KeyWord, MatchMode.Anywhere)) .SetResultTransformer(new NHibernate.Transform.DistinctRootEntityResultTransformer()) .List<lcAddress>(); 我要实现的效果是[where (lcAddress.Branch like '%%' or lcAddress.Branch like '%%' and lccompany.CompanyName like '%%') ] 代码该怎么写?

NHibernate queryover 修改语句怎么写?

如何将一下SQL语句改成queryover 写法? **update** Tim_Teacher_Info **set** Info_Delete=1 **where** Teacher_id=1001

NHibernate 不存在ManagedWebSessionContext

为什么 ?? NHibernate.Context.ManagedWebSessionContext.Bind(HttpContext.Current, WSC_NHibernateSession.SessionFactory_WSC_TEST.OpenSession()); 在线等啊。弄了一天了。,换成WebSessionContext在映射上又出现错误。。我看别人的项目都不需要把hbm改成嵌入的资源和始终复制,都是内容和不复制的,而且cfg.xml文件里也没有 <property name="current_session_context_class">jta</property>这个标签。都能映射成功,而且ISessionFactory里面的CurrentSessionContext一直都是NULL。。求救啊啊啊啊啊啊啊 啊

nhibernate 长度过长的问题

nhibernate 设置length长度的比如50。当web文本框输入这个字段的值长度大于50的时候在 NH保存的时候会出现类似“Data too long for column 'XXX' at row 1 ”的错误,我现在 想要的效果是怎么样提取这样的错误信息,我在前台弹窗显示?前端肯定是不可能去一个个设置长度的了。。在线等!求大神。。。。。。。。

ado.net EF NHibernate等区别与性能

SqlHelp、ADO.NET、Linq to Sql、Entity Framework与NHibernate都有什么不同?性能哪个更好一些?

.net 里的Nhibernate可以使用注解吗?需要怎么配置呢?

.net 里的Nhibernate可以使用注解吗?需要怎么配置呢?

MVC Nhibernate中DAO层怎么实现登录?

最近刚接触Nhibernate,正在做一个简单的实例。前台已经搭建好了, 也定义了一个Action: public void Login_A() { string LoginName = Request["LoginName"]; //.QueryString string LoginPwd = Request["LoginPwd"]; Users users = new Users(); users.LoginName = LoginName; users.LoginPwd = LoginPwd; bool b = usersBll.GetLogin(users); if (b // LoginName == "admin" && LoginPwd == "123"//直接给值是可以登录的 ) { Response.Write("ok"); //如果验证成功则返回ok } else { Response.Write("fail");//如果验证失败则返回fail } Response.End(); } 希望帮助我给出DAO层的实现方法。感谢大神!

C# 使用了NHibernate后,log4net就打不出日志了

小弟的C#工程中,使用log4net来打印日志到控制台和文件,没使用nhibernate之前一切正常。但是在使用nhibernate之后,日志就打不出来了。控制台不打印,日志文件也不生成。不知道是不是nhibernate劫持了log4net?怎么解决呢? app.config的配置如下; <!-- log4Net 配置 --> <log4net> <!--Info级别日志文件--> <appender name="InfoLogAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs/info.txt"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyyMMdd-HH:mm:ss"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [Thread: %thread] [level: %-5level] [class: %logger]:%message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="INFO"></levelMin> <levelMax value="INFO"></levelMax> </filter> </appender> <!-- ERROR级别日志文件 --> <appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs/error.txt"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyyMMdd-HH:mm:ss"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [Thread: %thread] [level: %-5level] [class: %logger]:%message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR"></levelMin> <levelMax value="FATAL"></levelMax> </filter> </appender> <!--控制台--> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [Thread: %thread] [level: %-5level] [class: %logger]:%message%newline" /> </layout> </appender> <root> <appender-ref ref="InfoLogAppender"/> <appender-ref ref="ErrorLogAppender"/> <appender-ref ref="ConsoleAppender"/> </root> </log4net>

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

立即提问
相关内容推荐