首页 文章 精选 留言 我的

精选列表

搜索[限流控制],共10000篇文章
优秀的个人博客,低调大师

C# efcore 控制台实例

public class DefaultDbContext : DbContext { public DefaultDbContext() { } public DbSet<User> Users { set; get; } public DbSet<UserDetail> UserDetails { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string sqlConnection = "server=127.0.0.1;port=3306;user=root;password=123456;database=efcoredemo"; optionsBuilder.UseMySql(sqlConnection); } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfiguration<User>(new UserConfiguration()); modelBuilder.ApplyConfiguration<UserDetail>(new UserDetailConfiguration()); base.OnModelCreating(modelBuilder); } } public class UserConfiguration : IEntityTypeConfiguration<User> { public UserConfiguration() { } public void Configure(EntityTypeBuilder<User> builder) { builder.ToTable("user"); builder.HasIndex(q => q.IdCard).IsUnique(); builder.HasOne(q => q.UserDetail).WithOne(q=>q.User).HasForeignKey<User>(q => q.userDetailId); } } public class UserDetailConfiguration : IEntityTypeConfiguration<UserDetail> { public UserDetailConfiguration() { } public void Configure(EntityTypeBuilder<UserDetail> builder) { builder.ToTable("userdetail"); builder.Property(q => q.Work).HasMaxLength(500); } } [Table("user")] public class User { [Key] public int Id { set; get; } [Required] public string IdCard { get; set; } [Column("sex")] public bool Sex { get; set; } [Column("name")] public string Name { set; get; } [Column("createTime")] public DateTime CreateTime { set; get; } = DateTime.Now; [Column("modifyTime")] public DateTime ModifyTime { set; get; } = DateTime.Now; [Column("userDetailId")] public int userDetailId { get; set; } public UserDetail UserDetail { get; set; } } [Table("userdetail")] public class UserDetail { [Key] public int Id { get; set; } [Column("email")] [StringLength(50)] public string Email { get; set; } [Column("phone")] [StringLength(20)] public string Phone { get; set; } [Column("note")] [StringLength(200)] public string Note { get; set; } [Column("lastLoginTime")] public DateTime LastLoginTime { get; set; } [Column("work")] public string Work { get; set; } public User User { get; set; } } class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); using (DefaultDbContext db = new DefaultDbContext()) { //db.Database.MigrateAsync(); //db.Database.EnsureCreated(); var list = db.Database.GetPendingMigrations(); if (list.Count() > 0) { db.Database.MigrateAsync(); } //var user = new User { Name = "张三", Sex = false, IdCard = "513701199109121331" }; //db.Users.Add(user); //db.SaveChanges(); //System.Console.Write(db.Users.ToList()); Console.ReadKey(); } } }

优秀的个人博客,低调大师

TightVNC 2.8.27 发布,远程控制软件

TightVNC,为一种使用 RFB 协定的屏幕画面分享及远端操作软件,此软件借由网络,可传送键盘与鼠标的动作及即时的屏幕画面。2.8.27版本已经发布了,内容有: Server for Windows:修复当使用-sharewindows 选项共享一个特定窗口时,服务器在更改窗口大小时崩溃 Server for Windows:修复了使用特定的国语键盘布局产生不正确的符号的问题 Server for Windows:修复当查看器以大端字节顺序请求 16 位或 8 位颜色时,发送黑屏的问题 Viewer for Windows:修复了从剪贴板传输文本数据时有空字符添加的问题 Viewer for Windows:修复了 -mousecursor 命令行选项的错误处理 发布说明

优秀的个人博客,低调大师

你了解Spring事物控制特性吗

一.事务特性原子性:强调事务的不可分割一致性:强调的是事务的执行的前后,数据的完整性要保持一致隔离性:一个事务的执行不应该受到其他事务的干扰持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库 二.如果不考虑隔离性,会引发一些安全性问题读问题脏读:一个事务读到另一个事务还没有提交的数据不可重复读:一个事务读到了另一个事务已经提交的update数据,导致在当前的事务中多次查询数据不一致虚读/幻读:一个事务读到另一个事务已经insert数据,导致当前事务中多次查询结果不一致 写问题引发两类丢失更新 三.解决引发的读问题设置事务的隔离级别read uncommitted :未提交读。脏读,不可重复读,虚读都可能发生read committed :已提交读。避免脏读,不可重复读和虚度有可能发生repeatable read :可重复读。避免脏读和不可重复读,虚读可能发生serializable :串行化的。避免脏读,不可重复读,虚读的发生 select @@tx_isolation; 查看隔离级别set session transaction isolation level 级别; 设置隔离级别 四.演示读问题演示脏读分别开启两个dos窗口 A.B先查看两个窗口的隔离级别 select @@tx_isolation;设置A窗口的隔离级别为未提交读 set session transaction isolation level read uncommitted;分别在两个窗口开启事务 start transaction;分别开启两个dos窗口 A.Bupdate account set money = money - 1000 where name = ‘张森’;update account set money = money + 1000 where name = ‘凤姐’;在A窗口查询数据 select * from account; – A事务读到了B事务还没有提交的数据; 演示避免脏读,演示不可重复读发送分别开两个窗口,A.B设置A窗口的隔离级别:read committed set session transaction isolation level read committed;分别在两个窗口开启事务 start transaction;在B窗口完成转账update account set money = money - 1000 where name = ‘张森’;update account set money = money + 1000 where name = ‘凤姐’;在A窗口进行查询 select * from account; – 避免脏读在B窗口提交事务 commit;在A窗口中再次查询 select * from account; – 转账成功.(不可重复读:一个事务读到另一个事务中已经提交的update的数据,导致多次查询结果不一致.) 避免脏读和不可重复读,演示虚读分别开启两个窗口,A.B设置A窗口的隔离级别:repeatable read set session transaction isolation level repeatable read;分别在两个窗口中开启事务 start transaction;在B窗口完成转账的操作update account set money = money - 1000 where name = ‘张森’;update account set money = money + 1000 where name = ‘凤姐’;在A窗口查询 select * from account; – 转账没有成功:避免脏读.在B窗口提交事务 commit;在A窗口再次查询 select * from account; – 转账没有成功:避免不可重复读. 避免虚读分别开启两个窗口,A.B设置A窗口的隔离级别:repeatable read set session transaction isolation level repeatable read;分别在两个窗口中开启事务 start transaction;在B窗口完成插入操作 insert into account values (null,‘王老师’,10000);在A中进行查询操作 select * from account; – 没有查询到任何结果在B窗口提交事务 commit; – A窗口马上就会显示数据 喜欢这篇文章的可以给笔者点个赞同,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~

优秀的个人博客,低调大师

Python3入门(四)条件控制

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块,if的条件关键字为:if-elif-else a = True if a: print("hello") else: print("no") a为True会执行输出hello,False会执行输出no注意: 1、每个条件后面必须使用:,表示接下来是满足条件后要执行的语句;2、使用缩进来划分语句块,相同缩进的的语句在一起组成一个语句块;3、Python中没有Switch...case语句 一、实例 以下是一些简单的示例 num = int(input("输入一个数字: ")) if num < 0: print("输入的数字小于0") elif num == 0: print("输入的数字等于0") els

优秀的个人博客,低调大师

Android 控制ScrollView滚动到底部

在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public static void scrollToBottom(final View scroll, final View inner) { Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset = inner.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) { offset = 0; } scroll.scrollTo(0, offset); } }); } 第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScrol() 下面我们看一下这个函数: scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 需要注意的是,该方法不能直接被调用 因为Android很多函数都是基于消息队列来同步,所以需要一部操作, addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败 应该通过handler在新线程中更新 handler.post(new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }); ,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册