SQL数据库一对多关系如何取出多条数据?

现在有两张表,表一是users(用户表)表二是works(作品表)
一个用户可以有多个作品,查询后显示结果如下,请问怎么查询?
显示样式

3个回答

inner join查出来,每条都带有作者信息,需要你自己合并成前台需要的数据结构
或者,先查出作者,然后ajax去请求每个作者的作品,然后填充

用如下sql语句进行查询就可以了,但是要换成你具体数据表中的字段select user.name,user.sex,works.name,works.type from user left join works on user.id = works.user_id、
这查出来的就是集合,你用list接收一下,展示出来就ok

用join on连接

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于数据库中一对多关系的表的设计问题
很简单,现有一张商品表(goods),里面有3个字段(id自增主键,name商品名字,price价格); 现在准备设计一张订单表(order),要求一张订单可能包含一个或多个商品,而且商品数量不定,那么应该如何设计这个订单表(order)呢? 我自己想到两种方案: 1、再额外设计一张中间表(order-goods)把它们关联起来,此表包括字段(order-id、goods-id、goods-num),每个订单的每有一个独立商品就添加一条记录到此表; 2、在订单表(order)里设计一个关联商品字段(goods-info),里面记录有商品id和商品数量拼出来的字符串,譬如某订单里有52号商品3件,166号商品4件,那么此订单的关联商品字段(goods-info)就记录着“52:3,166:4”这么一个字符串。 我个人是偏向于第二种方案,因为不用额外设计一张表,添加修改查询的时候都方便很多,只要取出关联商品字段(goods-info)后处理一下数据就可以了。 大神们能点评一下这两种方案吗?或者有更好更科学的设计方案吗?望指教~
sql数据库设计,一对多的问题。数据量在200w+,求设计思路
拿新闻系统来说。一条新闻对应多个分类,正常来讲表设计为一对多的关系,3张→新闻表,分类表,新闻分类关联表。随着时间的推移,新闻越来越多,表中的数据越来越大。查询起来会越来越慢。程序要求能够按照多个分类(or的关系)、标题、地区等去搜索新闻、分页。如何设计这个系统的表结构才能使得搜索高效快速?(分类均为五位数的ID),新闻内容需要格式,html代码,需要什么类型?与新闻表分离还是在一起呢?目前数据量200w+。 旧的程序设计是只有一张新闻表,分类单独一个字段,分类字段数据用逗号隔开‘10001,10002,10012’这种,新改版后需要多个条件搜索,按目前200w左右的数据like查询,三个分类or的关系查询都得个4s甚至更多,实在接受不了。该如何设计?如果现有的表结构不改变该如何优化?求解~~~ SQL Server
hibernate数据一对多,多对一关系维护问题
Hibernate: insert into dep (depname, depid) values (?, ?) Hibernate: insert into emp (ename, did, eid) values (?, ?, ?) 注:dep表对应pojo类部门 emp表对应pojo类员工 depname:部门名字 ename:员工名 depid:部门id,主键 eid:主键 开头为由“多”的一方即员工表维护多对一关系 且session先save(部门)再save(员工)打印的sql语句 问1:在“多”的一方维护关系时,控制台打印两条insert语句 但是没有进行select查询第二条insert是怎么得到部门id的? 问2:当session先保存多的一方时,控制台打印 Hibernate: select dep_.depid, dep_.depname as depname0_ from dep dep_ where dep_.depid=? Hibernate: insert into emp (ename, did, eid) values (?, ?, ?) Hibernate: insert into dep (depname, depid) values (?, ?) Hibernate: update emp set ename=?, did=? where eid=? 四条语句 第一条select语句的作用是什么?这时候有没有插入部门数据,执行顺序不明白。。 求教数据是怎么一步步保存到数据库的
请教一下关于“关注用户和消息接受的数据库设计”
**先说一下需求**:当任意用户点赞你的文章时或关注你的时候你会收到消息,当你关注的用户发表了一篇文章你会接受到消息。 **接下来贴出相关的几张表**: _1、用户关注表_ ![图片说明](https://img-ask.csdn.net/upload/201710/31/1509436188_510648.jpg) USER_ID和FANS_ID为联合主键,userId是被关注人,fansId是关注人。当用户关注某人时会插入一条信息,IS_DELETED为0;取消关注是IS_DELETED为1。 _2、消息表 ![图片说明](https://img-ask.csdn.net/upload/201710/31/1509436472_479458.jpg) ID是自动递增的主键,用来记录消息的顺序。USER_ID是动作发起人,INFO_TYPE是消息类型用来区分是关注、点赞还是关注用户发布了文章。RECEIVE_USER_ID是消息接受人,因为关注和点赞消息是一对一的,该字段记录该谁接受消息;而发布文章是一对多的则需要关联关注表来查询。 **来贴一下SQL** SELECT * FROM ( SELECT fm.ID, fm.INFO_TYPE type, fm.MEDIA_TITLE mediaTitle, fm.MEDIA_URL mediaUrl, fm.user_id userId, fu.nick userName FROM `fs_message` fm LEFT JOIN fs_user fu ON fm.user_id = fu.id WHERE fm.RECEIVE_USER_ID = '402878625d7e163f015d8883133201c8' UNION SELECT fm.ID, fm.INFO_TYPE type, fm.MEDIA_TITLE mediaTitle, fm.MEDIA_URL mediaUrl, fm.user_id userId, fu.nick userName FROM `fs_message` fm LEFT JOIN fs_user fu ON fm.user_id = fu.id LEFT JOIN fs_media_follow fmf ON fm.USER_ID = fmf.user_id WHERE fm.INFO_TYPE = '3' AND fmf.FANS_ID = '402878625d7e163f015d8883133201c8' and fmf.is_deleted = '0' ) f ORDER BY f.id DESC **问题所在** 如果这么SQL查的话,用户取消了对某个作者的关注时。这个作者以前发布文章的消息也会消失。现在的需求是用户取消关注时,关于该作者以前的消息依然保留,新消息不再接受。请教各位大神该怎么解决这问题,数据库要怎么设计好或是SQL语句要怎么写
hibernate的关联可以代替数据库外键进行约束?
本来还挺明白,我百度了一下“hibernate没有外键的2张表如何进行关联”很多回答不需要外键也能进行关联,越看越玄乎,最后甚至看到了“不需要数据库的外键约束,hibernate配置好关联就行"的定论,我整个人都炸了,hibernate有这么强大?怎么不上天呢?2个问题,请各位回答下: 1.没有外键的2张表真的能建立一对多,多对一等等这些关联?且不说能不能关联,就算能关联,没有下面数据库外键支持的关联有个卵用?我怎么知道这张表的某条数据与另一张表中某些纪录有关?凭什么?更不用说通过一个持久化的实例查出其域中相关联的另一个类实例的属性了(a.b.getxxx()),而且我写了个测试,没有外键与域中关联类的实例做映射,在生成的sql中直接把相关联类实例的名字当作字段进行数据操作,肯定报错啊!也就是说根本不能在域中将关联类的实例作为成员,所以 没有外键的2张表真的能建立关联,还是我认识有局限方法不对? 2.如果我的想法是对的,也就是说没有外键不能建立2个实体类之间多对一等这些关联,那么所谓“hibernate配置关联取代外键约束“是怎么一回事,无论是实际操作还是企业环境中,都觉得外键有必要但是成本太高,数据库的变动拓展起来太麻烦,所以我在想 他们的”hibernate配置取代数据库外键约束"肯定是跟关联设置无关的,这个只影响查询吧,所以他们是再说"我不用外键,我也不用关联,所有的有关系的表,在数据操作时,让开发人员去记,用程序员的sql去维护表之间的约束"这种看起来可行,但出错率高看起来很蠢的方法吧? 内容很多很绕口,感谢看完的你们,希望懂得人能回答一下,我是真的被百度的神人们给弄晕了,感激不尽!
sysbase 数据库行转列
a/b两张表,是一对多的关系,一条sql语句,查询出a表和对应b表的字段拼接 a表: id name 1 小明 2 小红 3 小丽 b表: id aid bname 1 1 ba 2 1 bv 3 3 vb 4 3 vc 结果: a.id a.name b.id b.bname 1 小明 1,2 ba,bv 2 小红 3 小丽 3,4 vb,vc
Hibernate的一对多映射的问题,集合的size不对。
Parent和Children建立一对多的双向关联。 Parent类的Children属性是Set类型的。 数据库里面和parent关联的child记录是2条,这个确认过。 但是parent.getChindren().size()的值是1。 但是用HQL方式用相同的条件查询,"from Child c where c.parentId=" + parent.getId(),结果是2。 我把parent.getChindren().size()时在控制台输出的sql语句复制出来替换掉问号,直接去查询数据库,结果也是2条记录。 为什么直接输出size的值是1而其他方法查询的结果是2? 我已经覆盖了对象的hashCode和equals方法了,我在hashCode和equals里添加了输出,发现hashCode执行了一遍,equals没有执行,是不是说在初始化children的时候只有1个对象被添加到set里? 应用里其他地方的一对多映射都正常,唯独这里有问题。 Child不止和Parent有关联,还和其他的对象有同样的关联,那些就正常。 [code="xml"] <set name="children" cascade="none" inverse="true" lazy="true" sort="natural"> <key column="parentId" /> <one-to-many class="com.bean.Child" /> </set> <many-to-one name="Parent" column="parentId" class="com.bean.Parent" not-null="false" cascade="none" /> [/code]
EF为存在的表新增外键
请问: 如何在C#中使用EF为已存在的两张数据表新增外键约束关系! 描述: 在一个解决方案可的两个项目中,两个独立的数据源。A数据源中的company表要和B数据源的project表建立一对多的关系。 在微软官方教程上没有。教程中都讲的是一个数据源。 http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx https://msdn.microsoft.com/en-us/library/jj591620(v=vs.113).aspx 而且建立外键关系时同时创建了数据表。没有看到对已存在的两张表新建关系。 目前在A数据源中companyInfo类中加了一条语句: public virtual ICollection<ProjectInfo> ProjectInfoes { get; set; } 用来建立companyInfo表和projectInfo表之间的外键关系。update-database数据源A后。在B数据源也需要update-database,因为B数据源中的projectInfo 表和该数据源中其他表也有外键关联。在SQL Server 2008R2中为一个数据库。因此会报错:project表已在。如下图![图片说明](https://img-ask.csdn.net/upload/201710/21/1508555645_923933.png):请大家帮看一下吧!谢谢!
求hibernate 一对多级联删除问题,望赐教
DUser表为1,DCompany 为多,DCompany 中的@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)不能删除,应为需要保存DCompany 时,同时也级联保存DUser信息,现在的问题的,我想删除DUser,可以报错 deleted object would be re-saved by cascade (remove deleted object from,删除失败,该如何处理呢,谢谢了,还有一个问题就是一个网友告诉我一对多一般都是set,即如下 # /** # * 用户信息 # */ # @OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY) # @JoinColumn(name = "comId") # private Set<DUser> users = new HashSet<DUser>(); 我用的是list,请问有什么说道吗,谢谢 删除代码为: [code="java"] @Test public void del() { DUser user = userService.findById("4028805527c3648d0127c36490560002"); System.out.println(user.getUserName()); userService.remove(user); } [/code] [code="java"] public class DUser extends BaseEntity { /** * */ private static final long serialVersionUID = -7733922431721279323L; /** * 用户标识 */ @Id @GeneratedValue(generator = "paymentableGenerator") @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") private String userId; /** * 姓名 */ private String userName; /** * 所属公司信息 */ @ManyToOne (cascade = CascadeType.ALL) @JoinColumn(name = "comId") private DCompany company; /** * 性别标识M.男F.女 */ private String userSex; /** * 密码 */ private String userPass; /** * Email */ private String userEmail; /** * 电话 */ private String userTel; /** * qq */ private String userQq; /** * 是否冻结 0冻结 1正常 */ private Integer userEnable; /** * 创建时间 */ private Timestamp userCreateDate; [/code] [code="java"]public class DCompany extends BaseEntity { /** * */ private static final long serialVersionUID = 2472916124848152035L; /** * 公司标识 */ @Id @GeneratedValue(generator = "paymentableGenerator") @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") private String comId; /** * 公司名称 */ private String comName; /** * 用户信息 */ @OneToMany(mappedBy = "company", cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "comId") private List<DUser> users; /** * 商品信息 */ @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "comId") private List<DGoods> goods; /** * 公司地址 */ private String comAddress; /** * 公司经营类别 */ private String comType; /** * 公司简介 */ private String comIntro; /** * 公司电话 */ private String comTel; /** * 增加时间 */ private String comCreateDate;[/code] 我现在这么弄的 DUser user = userService.findById("4028805527c3648d0127c36490560002"); user.setCompany(null); userService.remove(user); 可以删除了,不是是不是最理想的状态,另外在问下 删除user信息的时候是先根据id查出DUser对象,然后在删除DUser对象 这样在数据库中就导致了生成两条sql语句 1.select * from user where id ... 2.delete from user where id .... 这样会不会影响效率呢,如果直接用hql删除会不会更好些 另外 DUser user = userService.findById("4028805527c3648d0127c36490560002"); findById的时候是用load好呢还是get好呢,谢谢了,在次感谢
关于hibernate的一点小问题
最近正在学习hibernate,遇到了不少问题 1, public void testAA1(){ HibernateUtil.beginTransaction(); Session session=HibernateUtil.getCurrentSession(); Student ss=new Student(); ss.setId(new Integer(2)); ss.setName("zz"); session.saveOrUpdate(ss); session.getTransaction().commit(); session.close(); } hibernate在执行是为发出sql语句:Hibernate: update student set name=?, roomid=? where id=? 其中id=2,问题:我的数据库里面没有id=2的记录,为什么更新时没有报错? 2,在一对多的单向关联里面,表B的外键roomid引用表A的主键id,其中roomid为非空,问:在session.save(表A的一个临时对象)时,hibernate会发出很多sql语句,其中有一条是insert 表A的语句,然后update 表A,为什么我的roomid为非空,而insert 表A为成功呢? 3,session缓存里面的持久化对象是不是副本?也就是说内存里面是不是有两个这样的对象?
使用hibernate注解和配置oracle的序列,出现序列不断自增的问题
先说明见一下:总共有两个表,一个是teacher,另一个是student,多对多关系,都分别有序列S_Teacher和S_Student,使用oracle9i数据库,hibernate3.3,spring2.5和JPA的注解 下面是我的源代码: Teacher model [code="java"] import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name = "Teacher") public class Teacher implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="S_Teacher") @SequenceGenerator(name="S_Teacher",allocationSize=1,initialValue=1, sequenceName="S_Teacher") private Long tid; private String tname; private Integer tage; private Date tcreateDate; @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "teachers", targetEntity = Student.class) private List<Student> students=new ArrayList<Student>(); public Long getTid() { return tid; } public void setTid(Long tid) { this.tid = tid; } public String getTname() { return tname; } public void setTname(String tname) { this.tname = tname; } public Integer getTage() { return tage; } public void setTage(Integer tage) { this.tage = tage; } public Date getTcreateDate() { return tcreateDate; } public void setTcreateDate(Date tcreateDate) { this.tcreateDate = tcreateDate; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } } [/code] Student model [code="java"] import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name = "Student") public class Student implements java.io.Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="S_Student") @SequenceGenerator(name="S_Student", allocationSize=1, initialValue=1,sequenceName="S_Student") private Long sid; private String sname; private Integer sage; private Date screateDate; @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY, targetEntity = Teacher.class) @JoinTable(name = "RS_Teacher_Student", joinColumns = { @JoinColumn(name = "sid")}, inverseJoinColumns = { @JoinColumn(name = "tid") }) private List<Teacher> teachers=new ArrayList<Teacher>(); public Long getSid() { return sid; } public void setSid(Long sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public Integer getSage() { return sage; } public void setSage(Integer sage) { this.sage = sage; } public Date getScreateDate() { return screateDate; } public void setScreateDate(Date screateDate) { this.screateDate = screateDate; } public List<Teacher> getTeachers() { return teachers; } public void setTeachers(List<Teacher> teachers) { this.teachers = teachers; } } [/code] TeacherDAO [code="java"] import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class TeacherDAO extends HibernateDaoSupport { public void insertTeacher(Teacher t){ getHibernateTemplate().saveOrUpdate(t); } } [/code] StudentDAO [code="java"] import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class StudentDAO extends HibernateDaoSupport { public void insertStudent(Student s){ getHibernateTemplate().saveOrUpdate(s); } } [/code] 测试程序 [code="java"] import java.util.Date; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestOracle { private ApplicationContext context; private TeacherDAO tdao; private StudentDAO sdao; public TestOracle() { context = new ClassPathXmlApplicationContext( new String[] { "application_oracle.xml" }); tdao=(TeacherDAO)context.getBean("TeacherDAO"); sdao=(StudentDAO)context.getBean("StudentDAO"); } public void save(){ Teacher t=new Teacher(); t.setTname("baiyj"); t.setTage(Integer.valueOf("23")); t.setTcreateDate(new Date()); Student s1=new Student(); s1.setSname("t11"); s1.setSage(Integer.valueOf("21")); s1.setScreateDate(new Date()); Student s2=new Student(); s2.setSname("t12"); s2.setSage(Integer.valueOf("22")); s2.setScreateDate(new Date()); s1.getTeachers().add(t); s2.getTeachers().add(t); tdao.insertTeacher(t); sdao.insertStudent(s1); sdao.insertStudent(s2); } /** * @param args */ public static void main(String[] args) { TestOracle to=new TestOracle(); to.save(); } } [/code] spring配置文件application_oracle.xml [code="xml"] <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:TEST" /> <property name="username" value="sa" /> <property name="password" value="123456" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="annotatedClasses"> <list> <value>com.test.oracle.Teacher</value> <value>com.test.oracle.Student</value> </list> </property> </bean> <!--Hibernate TransactionManager--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="TeacherDAO" class="com.test.oracle.TeacherDAO"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="StudentDAO" class="com.test.oracle.StudentDAO"> <property name="sessionFactory" ref="sessionFactory" /> </bean> [/code] 现在的问题就是:执行完TestOracle后,数据库中可以保存成功,但是student和teacher表里面的主键id都和他们之间的关联表里的id分别都对应不上,比如student里面有两条记录,他们id分别是2,4;teacher表里面也有id为2的记录,但是在他们的关系表中却成了teacher是1,student是1,3了,请问是那里配置的不对吗?另外关系表里面没有强制设置外键关联,原来设置了外键关联,但保存报错,说是“违反完整约束条件,未找到父项关键字”,现在去掉关联,但出现上面这种情况,主键id总是“错位”,真不知道是怎么回事。 [b]问题补充:[/b] 我用的是序列啊,是自增的。怎么序列不能自增吗? [b]问题补充:[/b] 我将教师对学生的关系改成一对多的关联关系,结果也是一样的,比如:teacher表里面的主键id是4,而student表里面的tid都是3,总是差那么一拍。
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
毕业设计 微信小程序 音乐播放器
大学室友根据网易云的API自己制作的微信小程序,获得校级优秀毕业设计(如果你是大佬请绕行),下面简单介绍一下: 根据多次的使用不同的音乐APP发现,网易云音乐的页面设计最适合作为本微信小程序的页面基础模板。由于本作品是微信小程序,就需要剔除APP中的各种冗余的功能,页面设计也需要尽可能的简单直接,内容也要充实。然后根据以上几点,对应用的功能模块进行大量的分析与重构...
想查看微信好友撤回的消息?Python帮你搞定
要说微信最让人恶心的发明,消息撤回绝对能上榜。 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于是你打算问问她发了什么,结果她回一句"没什么"。这一回复,让你的好奇心更加强烈了,顿时就感觉消息撤回这一功能就是用来折磨人的。 那么有没有什么办法能够知道你心爱的她(他)到底撤回了什么呢?不要着急,P...
程序员必备的8个学习工具
取其精华,去其糟粕
2019年12月中国编程语言排行榜
2019年12月4日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.60% 2 c/c++ 16.58% 3 c# 12.59% 4 javascript 12.21% 5 python 7.96% 6 go 7.19% 7 php ...
拼不过 GO?阿里如何重塑云上的 Java
阿里妹导读:Java 诞生于20年前,拥有大量优秀的企业级框架,践行 OOP 理念,更多体现的是严谨以及在长时间运行条件下的稳定性和高性能。反观如今,在要求快速迭代交付的云场景下,语言的简单性似乎成了首要的要求,而传统的 Java 语言显得有一些过于重量了。今天,阿里 JVM 团队技术专家郁磊(花名:梁希)分享 JVM 团队是如何面对和处理集团巨大的业务规模和复杂的业务场景的。 音乐无国...
Java知识体系最强总结(2020版)
更新于2020-01-05 18:08:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 整理的Ja
一个“/”键,封锁了整个互联网
正所谓无BUG不生活,从你含辛茹苦地码着第一行代码开始,bug就如影随形。 其实,bug 被自己或者是测试人员发现都是好事;但如果是被用户发现,又或者导致了客户和公司的巨额损失……这些未知后果,就如同悬在头顶的一把利刃,让人脊背发凉…… 但一个小小的bug,可能带给你惊吓,也可能带来惊喜。接下来,我们就来看看 bug 都能带来哪些意想不到的影响呢? 1.来自 Amazon 的圣诞大礼包~ 201...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实
自学系列 | 就谈兴趣!
最近接到很多读者的私信,基本都是有关方向的选择上以及如何自学上,还有部分读者问到有关前端的方向,能不能详细写写如果从零学习,能够达到找工作的标准。而且这个自学能力是我们一辈子的生存技能,无论干什么,都离开这种能力,这是毋容置疑的。 之前有关自学的文章确实挺零散的,而且还不够详细。所以小鹿打算利用业余时间把如何自学写成一整个系列《如何成为一个优秀的自学者》。写之前呢,希望我们每个人先放下心中的执念...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前言 很多次小伙伴问到学习方法,我也很想写这样的一篇文章来跟大家讨论下关于学习方法这件事情。 其实学习方法这个事情,我没啥发言权
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了......,这可都是提升你幸福感的高效率生产力工具哦! 走起!...... NO、1 ScreenToGif 屏幕,摄像头和
还看不懂同事代码?快来补一波 Java 7 语法特性
前言 Java 平台自出现到目前为止,已经 20 多个年头了,这 20 多年间 Java 也一直作为最流行的程序设计语言之一,不断面临着其他新兴编程语言的挑战与冲击。Java 语言是一种静态强类型语言,这样的语言特性可以让 Java 编译器在编译阶段发现错误,这对于构建出一个稳定安全且健壮的应用来说,尤为重要。但是也因为这种特性,让 Java 开发似乎变得缺少灵活性,开发某些功能的应用时,代码量可...
为什么TCP建立连接协议是三次握手,而关闭连接却是四次挥手呢?
看到了一道面试题:“为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?”,想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章,希望对你们有所帮助。 TCP 连接 我们先来补一下基础什么是 TCP 协议?传输控制协议( Transmission Control Protocol, TCP )是种面向连接、确保数据在端到端间可靠传输的协议。面向连...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦......,嗯,我们导员是所有导员中最帅的一个,真的...... 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强......,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧?
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
初识 MyBatis MyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。MyBatis 能够支持简单的 XML 和注解配置规则。使 Map 接口和 POJO 类映射到数据库字段和记录。 MyBatis 的特点 那么 MyBatis 具有什么特点呢?或许我们可以从如下几个方面来描述 MyBati...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧???? 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升自...
B站 MySQL学习随手记 全是满满的干货!
业务级别的MySQL学习与使用 1、数据库分类 1. 关系型数据库(SQL) MySQL,Oracle,SQL Server,DB2,SQLlite 通过表和表之间的,行与列之间的关系进行数据的存储。(例如:学生信息表) 2. 非关系型数据库(NoSQL)Not Only SQL Redis,MongDB 对象存储,通过对象的自身的属性来决定 2、MySQL安装与配置 下载压缩文件...
技术总监灵魂一问:精通那么多技术,为何还是做不好一个项目?
编写高质量可维护的代码既是程序员的基本修养,也是能决定项目成败的关键因素,本文试图总结出问题项目普遍存在的共性问题并给出相应的解决方案。 1. 程序员的宿命? 程序员的职业生涯中难免遇到烂项目,有些项目是你加入时已经烂了,有些是自己从头开始亲手做成了烂项目,有些是从里到外的烂,有些是表面光鲜等你深入进去发现是个“焦油坑”,有些是此时还没烂但是已经出现问题征兆走在了腐烂的路上。 国内基本上是这样,国...
强烈推荐 10 款珍藏的 Chrome 浏览器插件
Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠;但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具。那段时间,不少人开始推荐 Chrome 浏览器,我想那就试试吧,期初我觉得用起来很别扭,毕竟我不是一个“喜新厌旧”的人。但用的次数越来越多,也就习惯了。 Chrome 浏览器有一个好处,就是插件极其丰富,只有你想不到的,没有你找不到的,这恐怕是...
我以为我对数据库索引十分了解,直到我遇到了阿里面试官。
索引的数据结构分析,数据库面试到索引最常见的问题分析,我总结了一下。
史上最牛逼的 VSCode 插件,提高开发效率!
这篇文章收集了一些常用的vscode插件,提高开发效率。
相关热词 c# singleton c#中类的默认值是 c#各种进制之间的转换 c# 正则表达式保留汉字 c#后台跨域 c#基础代码大全 c#指定combox选择 c#关系 mono c# 相差毫秒 用c#做一个简易计算器
立即提问