SQL如何取同表内的关联数据?

比如说一张表organ内有这样几个字段:

ID |  parent_ID  |  NAME 

现在取了上面三个字段后,想通过这条数据的parent_ID取到他的parent_ID的NAME值

我写的是

SELECT a.name,b.name as superior FROM ORGAN a
LEFT JOIN ORGAN b
ON a.PARENT_ID=b.ID

不知道还没有更简洁更快的方法呢?这样等于多并了一张表,查询效率不高

4个回答

可以采用子查询:
SELECT a.name,(select name from ORGAN b where a.PARENT_ID=b.ID) as superior FROM ORGAN a

SELECT a.name,b.name as superior FROM ORGAN a
INNER JOIN ORGAN b
ON a.PARENT_ID=b.ID

因为涉及到同一个表,所以自关联查询是比较好的方法。
可以直接用内关联而不用左关联。

查询速度慢可以考虑是数据量大等原因,可以采取加为表索引等方式。具体情况需要具体分析,你这条sql查询需要多长时间?你可以explain你的sql一下,不管怎么改,查询走方式的都是大致相同的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL主表和一个子表关联,现在想取子表的数据写入到子表的4个字段中去,有没有什么好的实现方式呢?
例如,我主表是客户表A,子表是客户联系方式B。 其中客户A表中有客户手机号1-4,这四个字段。 我想通过查询其子表B的手机号字段,取其中4条,填充到主表的这四个字段中,假设数据量在200万左右,有什么效率比较高的处理方式去实现呢?
sqlserver 两个表关联1:n求随机取一条数据的sql语句实现!
现在要补齐tb1中演唱歌曲字段。条件是去tb2中查找相同艺人演唱过的歌曲,随机填充到tb1中的歌曲名字段 一个歌手不止演唱一首歌,所以tb2中是艺人演唱所有歌曲的集合。tb1中同一个歌手可能出现好几次 补齐时候需根据tb1中艺人名称去tb2也就是艺人歌曲汇总表中查找相同艺人演唱的歌曲名称。 需要在艺人名相同情况下随机取tb2中演唱歌曲名去一一补齐tb1中的字段 tb1 tb1 艺人 演唱歌曲名 a null b null c null a null s null d null e null tb2 艺人 演唱歌曲名 a aa a ab b bb b ba b bbb d dd d d2 f ddd c cc 艺人 演唱歌曲名称 a aa (tb1中的艺人名会出现好几次每次在tb2中,只要随机的一条来填充) a ab b bb d dd c cc
sql分组查询出的字段不是唯一的 无法关联别的表怎么办?
sql分组查询出来的字段在表中不是唯一的 无法与别的表进行关联查询取数据怎么办?
根据4张表取指定的数据
现在有4张表:表一:jy_qualitytaskdet 细表,以此表为主表,查出符合要求的总数进行分组,用得到的字段create_date是时间,第一个条件,分别需要取2个月的数据,根据时间进行分组 ,表二:jy_qualitytask 粗表,作为表关联的中转细表的jy_qtcode存的是粗表的id ,表三:t_s_base_user 成员表,保存了成员的信息,根据粗表中字段jobnum等于成员表中字段jobnum而中转进行关联,第二个条件,成员表中Iscorrect为是否转正,字段值即为‘是’与‘否’,根据这两个值进行分组 ,表四:jy_qualityitem 内容表,该表的id为细表的jy_qticode字段,然而此表自身分父子ID(id与pid字段),大类id为001-005顺序排序,小类id从006开始到某个数字(目前是023),小类自身关联着大类,通过小类的pid存入大类的id实现,而细表中jy_qticode中只存入小类的id,但是最终结果要求根据小类所关联的大类ID进行大类的分组,即分为5组 ,如下是我写的sql: select count(a.id) num,d.pid xiangmu,c.Iscorrect yesor from jy_qualitytaskdet a LEFT JOIN jy_qualitytask b ON a.jy_qtcode = b.id LEFT JOIN t_s_base_user c ON c.jobnum = b.jobnum LEFT JOIN jy_qualityitem d ON d.id = a.jy_qticode WHERE DATE_FORMAT( a.create_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) GROUP BY d.pid,c.Iscorrect; 最终结果是按照时间与是否分为4个数组,每个数组按照001-005分成5个元素 ,但是有几个问题: 1.取出的数据需是按照001-005;是否;两个时间段进行分组的,那么应该是拥有20个数据类型,但是我将他们取到后台之后有可能会出现某个值为null的情况而导致全部数据乱序,应该怎样在sql语句中就进行判断使null值变为0,否则岂不是要写20个if语句; 2.排序,怎样排序成 001,是,第一个时间段 002,是,第一个时间段 003,是,第一个时间段 ..... 001,否,第一个时间段 002,否,第一个时间段 ..... 001,是,第二个时间段 ..... 这样的格式 3.时间需要从前台传入后台的一个时间字段的参数进行判断,但是本人对于AJAX一窍不通,能够以怎样的方式动态获取数据,如果非要用AJAX能不能直接提供完成的代码加上注释最好,感激不尽 4,最多写2条sql,我现在是按照时间来分成2条sql写的 使用的框架是JEECG,echarts,数据库是mysql
sql大数据自关联查询优化
1. 一张表a,字段有date(日期),city(城市),area(区域),cl(期初人口数量),ml(期末人口数量),zl(增加的人口数量) 2. 只有当天zl有变动的时候才会有数据,如果不变动,则当天不记录 3. 表内容示例: 4. date city area cl ml zl 5. 2018-05-01 cc1 a11 100 99 -1 6. 2018-05-02 cc1 a12 200 205 5 7. 2018-05-02 cc2 a21 50 100 50 8. 2018-05-03 cc1 a11 99 140 51 9. 要查每一个区域的一定时间范围内的期初数量和期末数量,例:查2018-05-01至2018-05-03,cc1-a11的期初是100.期末是140,cc1-a12的期初是200,期末是205,cc2-a21的期初是50,期末是100 10. 找到两种方式查期初和期末:一是取最小日期和最大日期所在的日期,据日期取找值;二是自关联。目前因为数据量到2千万,查询速度很慢,寻找优化方案 11. 在线等,着急,谢谢!
审批表与员工表通过员工编号关联,我要取审批记录中的申请人和审批人的数据,如何实现?
1、 ``` create table hr ( code varchar(20) primary key, name varchar(20) ); ``` 2、 ``` create table auditing ( pro_id varchar(20) primary key, fillpsn_id varchar(20), chkpsn_id varchar(20) ); ``` 表一:hr ``` code name 1001 张三 1002 李四 1003 王五 ``` 表二:auditing ``` pro_id fillpsn_id chkpsn_id 01 1001 1003 02 1002 1003 ``` 需要实现的功能是这样的,获取到表二的记录,要关联到表一中的人员名字,体现名字而不是数字id ``` 流程编号 申请人 审核人 01 张三 王五 ```
sql语句问题,如何在多表关联下,在重复数据里面,根据某一个唯一的值,sum另一个值的和。
``` select distinct cl.description 数据批次, s.rolegroupdescription 拨打小组, count(distinct oj.customer_guid)分配数量, sum(case when t1.calltype=2 and t1.stringfield1='CTI' then 1 else 0 end) 拨打次数, count(distinct case when t4.calltype=2 then t1.customer_guid end) 接通客户数, sum(case when t4.calltype=2then 1 else 0 end) 接通个数, sum(case when t1.calltype=2 and t1.stringfield1='CTI' and floor((t4.endtime- t4.starttime)*24*60)>1 then 1 else 0 end) 一分钟以上个数, count(distinct co.appl_no) 成交件数, sum(distinct year_premium) 成交业绩 from customer c left join (select * from gd_ods_core where cntr_stat in ('K','L','M')) co on co.mobile=c.mobile inner join objective oj on oj.customer_guid=c.customer_guid left join event t1 on c.customer_guid=t1.customer_guid inner join custlists cl on c.stringfield1= cl.custlist_xxx inner join gd_temp_staff s on oj.tlallot =s.staff_id inner join (Select customer_guid,max(createddate) as maxcreateddate from objective where tlallot is not null group by customer_guid)L on oj.customer_guid=L.customer_guid and oj.createddate=L.maxcreateddate left join record t4 on t4.customer_guid = t1.customer_guid and t4.event_guid = t1.event_guid and t4.staff_id = t1.handleby_id where cl.CustList_xxx='CustList_jtkh20170623hh32' group by cl.description,s.rolegroupdescription order by cl.description ``` 现在问题是最后取成交金额sum(year_premium) 这里,因为数据重复,所以直接sum会大很多,但如果直接sum(distinct year_premium),会导致不同成交件,但相同交易金额的数給剔除,那就造成金额少了。 gd_ods_core成单表本身是唯一,但由于统计数据的要求,关联了电话拨打表“event”数据分配表“objective”和电话录音表“record”,客户电话拨打得越多,重复数量就越多,如果直接select 成单表gd_ods_core的话,要统计分配数量、拨打次数、接通次数就不准。 请帮忙提供如何根据appl_no(唯一单号)来sum year_premium(业绩金额) 或提供完全不同逻辑 ![sum(distinct year_premium的情况)](https://img-ask.csdn.net/upload/201711/09/1510211694_467545.jpg) ![sum(year_premium的情况](https://img-ask.csdn.net/upload/201711/09/1510211721_445408.jpg) 两个图都没办法准确统计业绩金额。
包涵查询 计算 行转列的sql语句怎么设计最合理?
要编写一个数据统计的页面 包括: 设备名,ip地址(取自s表) 端口名(取自r表) 策略名,流量方向(取自q表) 流量,丢包(取自数据表p) 其中p表数据量较大 我的思路是把设备名端口名策略名都关联好得到a表根据任务id与p表左连接 得到数据取完平均值后行转列,再拼接出最终结果 这样做的问题就是p表是月表跨月查询的时候不能得到数据,但是把两个p表在查询的时候连接再查询就不会使用索引造成速度极慢。因为还有求平均数的步骤所以不知道该怎么安排这个顺序了。还请教一下大家要怎么办 我觉得我写的太乱了
萌新求解:数据关联查询效率低下问题
如题,本人不才,入行半年左右,现在为某企页做后管系统网站,持久层用的Spring-Mybatis,在开发过程中,发现了如下问题,如图: ![图片说明](https://img-ask.csdn.net/upload/201610/09/1476005107_704337.png) 产品类型显示的是ID,非常不直观,我希望它显中文名称,于是在逻辑层做了修改:查询每条维修记录后,都要再根据产品类型ID去产品类型表里查它的中文名称,(在实体类Dto中添加中文名字段)一并传送到前端。这样一来问题是解决了,但是效率很低下,每次查询都要多花1秒左右。 ![图片说明](https://img-ask.csdn.net/upload/201610/09/1476005457_261616.png) 后来尝试直接修改SQL进行表关联查询,以及使用MyBatis的<association>的关联查询,改善效果也不明显。 请问有没有一种类似“常量池”的技术,比如:我拿ID=1查询到对应产品类型的中文名,下次再拿ID=1来查询就不走数据库直接从缓存中取出来返回给我。(数据库用的MySql)
存储过程,插入表时是否可以同时从游标和另一张表取数据? 已添加自己写的在下面。
W表为基础表 M表为报表层表,两张表字段几乎一样,只有两列代理键,TIME_WID 和COMPANY_WID 要关联另外两张表,日期维表和 公司维表,可根据W表的机构和时间检索出日期和公司的代码, 现在存储过程要实现的功能就是W层的表到M层表的同步,再转下代理键 就Ok 起初我想把机构和公司设为参数,写进游标,再从游标取值 人两个参数,再同W表的其他参数插入到M表 但不清楚如何 把游标的参数 和W表的字段同时插入进M表里? 由于之前没有写存储过程的经验,这次上面要求的又挺急,请各位帮忙解决这个问题, 多谢,多谢!! CREATE OR REPLACE PROCEDURE TP_EXAM IS I_SJ NUMBER; I_JG NUMBER; V_SDATE NUMBER; V_UPDA NUMBER; --DELETE FROM RPT_YW_YB10_INTER_INSUR_RANK_F WHERE COMPANY_WID = '111'; TYPE Cursors IS REF CURSOR; c_CUR Cursors; OPEN c_CUR FOR SELECT TIME_WID, COMPANY_WID FROM DW_YW_YB10_INTER_INSUR_RANK_F RF LEFT JOIN W_COMPANY_D COMY ON (RF.JG = COMY.COMPANY_CODE) LEFT JOIN W_TIME_D T ON (RF.SJ = T.DAY_DT); --取出时间和机构的代理键 LOOP FETCH c_CUR INTO I_SJ, I_JG, BEGIN INSERT INTO RPT_YW_YB10_INTER_INSUR_RANK_F VALUES (I_SJ,I_JG); SELECT (index_name, ditch_name, insurance_name, period, ytd_value, batch_id, created_by, updated_by, combination_record, src_sys, etld_at) INTO RPT_YW_YB10_INTER_INSUR_RANK_F FROM DW_YW_YB10_INTER_INSUR_RANK_F WHERE updated_at = V_UPDA -1; EXIT WHEN c_CUR%NOTFOUND; END LOOP; CLOSE c_CUR; SELECT SYSDATE INTO V_SDATE FROM DUAL; SELECT updated_at INTO V_UPDA; n:=1; WHILE INSERT INTO RPT_YW_YB10_INTER_INSUR_RANK_F SELECT * FROM RPT_YW_YB10_INTER_INSUR_RANK_F where rownum between n and n+1000; if Sql%Rowcount <1000 then commit; break; end if; n:=n+1000; COMMIT; END;
oracle关联表查询记录表最新一条记录?
``` select * from ( select a.*,t1.*,row_number() over (partition by t1.serial_no order by t1.cust_work_hours desc ) rn from HISTORY a left join ( SELECT to_char(so.FAILURE_DATE, 'yyyy-MM-dd') work_hours, to_char(cmi.SERIAL_NO) serial_no, nvl(so.CUST_WORK_HOURS, 0) cust_work_hours FROM SERV_ORDER so LEFT JOIN COMM_MACHINE_INFO cmi ON so.MACHINE_ID = cmi.MACHINE_ID WHERE so.SERV_TYPE_ID = 5 UNION ALL SELECT to_char(CREATE_DATE, 'yyyy-MM-dd') work_hours, to_char(MACHINE_NO) serial_no, nvl(CUST_WORK_HOURS, 0) cust_work_hours FROM MAINTAIN_ORDER WHERE IS_MAINTAIN = 0) t1 on a.TMS_MACID = t1.serial_no ) t2 where t2.rn =1; ``` 我这上面一段sql,查询的是一个一对多的关系,取多方最新的一条数据,现在我HISTORY表里有2万条数据,最后查询出来的少了几千条,也就是说 我多方那个表里面没有记录,它取不了,然后就不显示吗?不应该有一条空数据出来吗,我是以history为主表left join的
java 每从数组里面获取1000条数据
批量删除用户,传过来的是一个integer[] ids,长度0~100万不定,当数据量大的时候删除太慢或者删除不了,现在想每次删1000条,时间长点可以接受,想知道怎么每次从ids取1000条,或者其他有更好的方案也可以,删除用户需要删除关联的东西太多,不能直接用sql in来删
求一条sql??有点急。
有3张表,presms(preid,content),detail(preid,detailid),mt(detailid,status(有0和1两个状态)),presms与detail是一对多的关系,数据表现形式为:presms中有一条记录,那么detail表可以有很多记录对presms的那一条记录进行描述,他们是通过preid关联的,detail与mt是一对一的关系,mt表有一个字段是status来描述与detail表相关记录的状态的,表就是这样设计的,请不要讨论合不合理了,这两张表是通过detailid关联的。现在需查询出这样一个显示结果(这4列), preid content preid在detail中对应的行数 preid在detail中对应行数中在取status为0的行数。 要求,只需一条SQL。
求mysql中满足如下需求的一句sql
假设有一个表picture(id,address_id,name),其中一个address_id可关联多个picture. 问题: 假设有一批address_id,如何写一句sql根据这一批address_id在picture表中取出与之关联的记录,保证每一个address_id只能取出与之关联的2条记录. 我想到的关键字是in 和limit,但是如何写出满足此需求的sql,还请各位赐教。 [b]问题补充:[/b] select * from picture where address_id in( select address_id from picture where address_id in(一批address_id) group by address_id having count(*)=2 ) 这个是有问题的,只能得到两条记录 [b]问题补充:[/b] "不是只取每个address_id关联的两条记录吗?这样从picture表取出来的每个address_id都有两条记录了呀!能不能再说明一下" 主要是这个子句有问题:select address_id from picture where address_id in(一批address_id) group by address_id having count(*)=2 , 这里表示只能取出address_id个数等于两个的记录。 需求是不管有多少条记录,取出前两条。 [b]问题补充:[/b] to 81261686 (中级程序员): 不好意思,可能我前面需求表达得不清楚
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<Role> { 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, IList`1 multiSqlQueryParametersList, Int32 singleSqlParametersOffset, IList`1 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.List[T]() 在 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
关于Hibernate多表查询返回多个实体的取值问题
<pre name="code" class="java"> public List findJianceXM(String bzdm,String tjdm){ Session s=super.getSession(); String sql="select distinct {b.*},{a.*} from 系统_污染物标准排放明细 a join 系统_监测项目 b on a.监测项目编号=b.监测项目编号 where a.标准代码=? and a.条件编码=?"; Query q=s.createSQLQuery(sql).addEntity("b",系统监测项目.class,"a",系统污染物标准排放明细.class); q.setString(0, bzdm); q.setString(1, tjdm); return q.list(); } </pre> <br />现在我在前台怎么如何取到这个list里的相关数据.. <br />这个两个实体没有建立外键关系。。在表里用的字关联
作为后端,优化才是价值所在!已尽最大能力优化,只求进一步!
视图再进一步优化! 最近遇到sql优化瓶颈 这是一个插入艺术家数据到es的sql查询, ``` SELECT a.id, a.`name`, a.pinyin, a.first_letter, a.gender, a.follow_num, a.art_num, a.audit_status, a.create_time, a.user_id, a.certificate_status, b.exhibition_id, c.avatar, c.birthday, d.academy, d.major, d.edu_degree, e.my FROM artist_artist a LEFT JOIN (SELECT t2.artist_id,GROUP_CONCAT(t1.exhibition_id SEPARATOR ' ') as exhibition_id FROM exhibition_artwork t1 LEFT JOIN artwork_artwork t2 on t1.artwork_id=t2.id and t2.removed=FALSE WHERE t1.removed=FALSE and t1.selected=TRUE GROUP BY t2.artist_id) as b on a.id=b.artist_id LEFT JOIN account_user c on a.user_id=c.id LEFT JOIN (SELECT artist_id,GROUP_CONCAT(academy SEPARATOR ',') as academy,GROUP_CONCAT(major SEPARATOR ',') as major,GROUP_CONCAT(edu_degree SEPARATOR ',') as edu_degree from artist_education WHERE removed=FALSE GROUP BY artist_id) as d on a.id=d.artist_id LEFT JOIN (select t3.artist_id,GROUP_CONCAT(CONCAT_WS(',',t3.id,t3.title,t3.category,t3.creation_age,t3.size_l,t3.size_w,t3.size_h,t3.certificate_status,t4.filename) SEPARATOR ';') as my FROM (select s.artist_id,s.id,s.title,s.category,s.creation_age,s.size_l,s.size_w,s.size_h,s.picture_id,s.create_time,s.certificate_status from artwork_artwork s where (select count(*) from artwork_artwork where artist_id = s.artist_id and create_time > s.create_time and removed=FALSE and audit_status=1)<3 and s.removed=FALSE and s.audit_status=1 order by s.create_time desc) as t3 LEFT join artwork_picture t4 on t3.picture_id=t4.id GROUP BY t3.artist_id ) as e on a.id=e.artist_id WHERE a.removed=FALSE and a.audit_status=1 and a.switch_status=TRUE ``` 这是explain的结果,优化了已经不知何处优化了 ![图片说明](https://img-ask.csdn.net/upload/202001/02/1577957090_253221.jpg) 因为需要处理的数据太过,所以子查询多,涉及的表也多,左关联的第一张表数据量在七八万,管理以后筛选只要三万,但是取数据的速度太慢了,求各位大神帮看看怎么优化?
多数据源spring 报java.lang.NullPointerException
在调用test.java的时候就会报 Exception in thread "main" java.lang.NullPointerException at cn.m_solution.mds.mds40.service.MDS40T01Service.getStudent(MDS40T01Service.java:23) at cn.m_solution.mds.mds40.service.test.main(test.java:13) 请大家一定帮忙,已经弄了两天了 [color=red]moduleContext-sys.xml:[/color] <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- +++++++++++++++++++++++++++++++++++++++++ --> <!-- 系统关联设定(必须) --> <!-- +++++++++++++++++++++++++++++++++++++++++ --> <bean id="ApplicationInfo" class="net.uniuvo.webridger.beans.ApplicationInfo"> <!-- 应用系统名称 --> <property name="applicationName" value="mds" /> <!-- 允许直接访问的Action列表 --> <property name="directAccessActions"> <list> <value>mds00.do</value> <value>/mds13.do</value> <value>/mds40.do</value> </list> </property> <!-- 禁止访问的扩展名列表 --> <property name="prohibitedExtensions"> <list> <value>js</value> <value>css</value> <value>jsp</value> <value>html</value> </list> </property> <!-- 禁止访问的扩展名中例外的文件列表 --> <property name="restrictionEscapeFiles"> <list> <value>/pages/index.html</value> <value>/pages/mds40/mds40s00.jsp</value> </list> </property> </bean> <!-- +++++++++++++++++++++++++++++++++++++++++ --> <!-- 数据库关联设定(必须) --> <!--此bean告诉Spring去哪找数据库的配置信息,因为有此Bean才出现下面用${}标记来取变量的语句--> <!-- +++++++++++++++++++++++++++++++++++++++++ --> <!-- 这里定义了ibatis的配置文件所在的位置 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>/WEB-INF/config/jdbc/jdbc.properties</value> </property> </bean> <!-- <bean id="DataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">--> <bean id="ds0" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName0}" /> <property name="url" value="${jdbc.url0}" /> <property name="username" value="${jdbc.username0}" /> <property name="password" value="${jdbc.password0}" /> </bean> <bean id="ds1" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName1}" /> <property name="url" value="${jdbc.url1}" /> <property name="username" value="${jdbc.username1}" /> <property name="password" value="${jdbc.password1}" /> </bean> <bean id="DataSource" class="net.uniuvo.webridger.dao.DynamicDataSource"> <property name= "targetDataSources"> <map key-type="java.lang.String"> <entry key="ds0" value-ref="ds0"/> <entry key="ds1" value-ref="ds1"/> </map> </property> <property name="defaultTargetDataSource" ref="ds0"/> </bean> <!--这里就声明了具体的事务 --> <bean id="attrSource" class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource"> <property name="properties"> <props> <prop key="execute*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="select*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 定义事务处理拦截器 --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager"> <ref local="transactionManager" /> </property> <property name="transactionAttributeSource"> <ref local="attrSource" /> </property> </bean> <!-- 定义事务经理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref local="DataSource" /> </property> </bean> <!-- 自动代理 (业务处理Bean的Id) --> <bean id="autoProxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="interceptorNames"> <list> <idref bean="transactionInterceptor" /> </list> </property> <property name="beanNames"> <list> <value>*Service</value> </list> </property> </bean> <!-- iBATIS相关设定 --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="/WEB-INF/sqlMapConfig.xml" /> <property name="dataSource"> <ref bean="DataSource" /> </property> <property name="lobHandler"> <ref local="oracleLobHandler" /> </property> </bean> <!-- 定义DAO --> <!-- 检索用DAO --> <bean id="queryDAO" class="net.uniuvo.webridger.dao.QueryDAOiBatisImpl"> <property name="sqlMapClient"> <ref local="sqlMapClient" /> </property> </bean> <!-- 追加 更新 删除用DAO --> <bean id="updateDAO" class="net.uniuvo.webridger.dao.UpdateDAOiBatisImpl"> <property name="sqlMapClient"> <ref local="sqlMapClient" /> </property> </bean> <!--根据sqlMapClien创建一个SqlMapClient模版类--> <bean id="SqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"> <property name="sqlMapClient"> <ref bean="sqlMapClient" /> </property> </bean> <bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" /> <bean id="oracleLobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler" > <property name="nativeJdbcExtractor"><ref local="nativeJdbcExtractor"/></property> </bean> <!-- 这里就是Facade了,注意,它有个parent属性,就是这个属性,使它的操作受到了事物管理的限制 <bean id="baseFacade" parent="baseTransactionProxy"> <property name="target"> <bean class="facade.BaseFacadeImpl"> 把DAO做为属性注入到Facade中去 <property name="proDao" ref="proDao" /> <property name="errDao" ref="errDao" /> <property name="userDao" ref="userDao" /> <property name="orderDao" ref="orderDao" /> </bean> </property> </bean> --> </beans> [color=red]sqlmapconfig.xml[/color] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler"/> <typeHandler jdbcType="CLOB" javaType="java.lang.String" callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler" /> <sqlMap resource="../config/sql/sqlMap-mds.xml" /> <sqlMap resource="../config/sql/sqlMap-mds00.xml" /> <sqlMap resource="../config/sql/sqlMap-mds01.xml" /> <sqlMap resource="../config/sql/sqlMap-mds02.xml" /> <sqlMap resource="../config/sql/sqlMap-mds03.xml" /> <sqlMap resource="../config/sql/sqlMap-mds04.xml" /> <sqlMap resource="../config/sql/sqlMap-mds10.xml" /> <sqlMap resource="../config/sql/sqlMap-mds11.xml" /> <sqlMap resource="../config/sql/sqlMap-mds12.xml" /> <sqlMap resource="../config/sql/sqlMap-mds13.xml" /> <sqlMap resource="../config/sql/sqlMap-mds20.xml" /> <sqlMap resource="../config/sql/sqlMap-mds21.xml" /> <sqlMap resource="../config/sql/sqlMap-mds22.xml" /> <sqlMap resource="../config/sql/sqlMap-mds23.xml" /> <sqlMap resource="../config/sql/sqlMap-mds30.xml" /> <sqlMap resource="../config/sql/sqlMap-mds31.xml" /> <sqlMap resource="../config/sql/sqlMap-mds32.xml" /> <sqlMap resource="../config/sql/sqlMap-mds33.xml" /> <sqlMap resource="../config/sql/sqlMap-mds40.xml" /> </sqlMapConfig> sqlMap-mds40.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap > <select id="sql.mds40.001" parameterClass="cn.m_solution.mds.mds40.form.MDS40Form" resultClass="cn.m_solution.mds.mds40.form.MDS40Form"> select syr from vehicle where hpzl = #hpzl# and hphm = #hphm# </select> </sqlMap> MDS40T01Service package cn.m_solution.mds.mds40.service; import org.springframework.orm.ibatis.SqlMapClientTemplate; import cn.m_solution.mds.mds40.form.MDS40Form; public class MDS40T01Service { SqlMapClientTemplate sqlMapClientTemplate; public MDS40Form getStudent(){ MDS40Form form40 = new MDS40Form(); sqlMapClientTemplate.queryForObject("sql.mds40.001",form40); return form40; } /** * @return the sqlMapClientTemplate */ public SqlMapClientTemplate getSqlMapClientTemplate() { return sqlMapClientTemplate; } /** * @param sqlMapClientTemplate the sqlMapClientTemplate to set */ public void setSqlMapClientTemplate(SqlMapClientTemplate sqlMapClientTemplate) { this.sqlMapClientTemplate = sqlMapClientTemplate; } } test.java package cn.m_solution.mds.mds40.service; import org.springframework.jdbc.core.support.JdbcDaoSupport; public class test extends JdbcDaoSupport{ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub MDS40T01Service s = new MDS40T01Service(); s.getStudent(); } }
一个ssm项目只给了映射文件,需要我创建数据库,但是有些问题,
controller取不到数据库的值,方法里写了打印输出语句输出为空,想让各位看下表是否有问题。 一共四个映射文件 admin_info表 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.digital.dao.AdminInfoDAO"> <select id="getAdminInfoByCond" parameterType="com.digital.pojo.AdminInfo" resultType="com.digital.pojo.AdminInfo"> select * from admin_info where name=#{name} and pwd=#{pwd} </select> <select id="getAdminInfoFunctions" parameterType="int" resultMap="getAdminInfoFunctionsMap"> select ai.id,ai.name,f.id fuid,f.name fname,f.parentid fpid,f.isleaf fisleaf,f.nodeorder fno from admin_info ai left join powers p on ai.id=p.aid join functions f on p.fid=f.id where ai.id=#{id} ORDER BY fpid </select> <resultMap type="com.digital.pojo.AdminInfo" id="getAdminInfoFunctionsMap"> <id property="id" column="id"/> <result property="name" column="name"/> <collection property="fs" ofType="com.digital.pojo.Functions"> <id property="id" column="fuid"/> <result property="name" column="fname"/> <result property="parentid" column="fpid"/> <result property="isleaf" column="fisleaf"/> </collection> </resultMap> <select id="getAllAdminInfo" resultType="com.digital.pojo.Functions"> select * from admin_info </select> <select id="getAdminById" parameterType="int" resultType="com.digital.pojo.AdminInfo"> select * from admin_info(name,pwd,role) values(#{name},#{pwd},#{role}) </select> </mapper> ``` ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555592692_131715.png) functions表 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.digital.dao.FunctionsDAO"> <select id="getAllFunctions" resultType="com.digital.pojo.Functions"> select * from functions </select> </mapper> ``` ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555593008_498896.png) powers表 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.digital.dao.PowersDAO"> <select id="delPowersByAdminid" parameterType="int"> delete from Powers where aid=#{aid} </select> <!-- 保存管理员和系统功能之间的关联关系信息 --> <insert id="addPowers" parameterType="java.util.Map"> insert into powers(aid,fid) values(#{aid},#{fid}) </insert> </mapper> ``` ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555592859_4441.png) user_info 表 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.digital.dao.UserInfoDAO"> <select id="getUserInfoByCond" parameterType="com.digital.pojo.UserInfo" resultType="com.digital.pojo.UserInfo"> select * from user_info where userName=#{userName} and password=#{password} </select> <select id="getUserListByPage" parameterType="java.util.Map" resultType="com.digital.pojo.UserInfo"> <if test="userName!=null and userName!=''"> select * from user_info where userName LIKE CONCAT(CONCAT('%',#{userName}),'%') limt #{start},#{limt} </if> <if test="userName==null or userName==''"> select * from user_info where limt #{start},#{limt} </if> </select> <select id="getAllUser" parameterType="String" resultType="com.digital.pojo.UserInfo"> <if test="_parameter!=null and _parameter!=''"> select * from user_info where userName LIKE CONCAT(CONCAT('%',#{_parameter}),'%') </if> <if test="userName==null or userName==''"> select * from user_info </if> </select> <select id="updateUserStatus" parameterType="java.util.Map"> <if test="flag==0"> upadate user_info set status=0 where id in </if> <if test="flag==1"> update user_info set status=1 where id in </if> <foreach item="item" index="index" collection="ids" open="(" separator="," close=")"> #{item} </foreach> </select> </mapper> ``` ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555592952_239120.png) 这是mybatis的配置 ``` <!-- 配置mybatis工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 注入数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 指定mybatis映射文件位置 --> <property name="mapperLocations" value="classpath*:com/digital/mapping/*Mapper.xml"/> </bean> <!--配置MapperScannerConfigurer,DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.digital.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> ``` 配置文件所在的包 ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555594856_354610.png) 项目的部分目录 ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555598353_700162.png)
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
MyBatis研习录(01)——MyBatis概述与入门
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往——自定义View系列教程(10篇) 走出思维困境,踏上精进之路——Android开发进阶精华录 讲给Android程序员看的前端系列教程(40集免费视频教程+源码) 版权声明 本文原创作者:谷哥的小弟 作者博客
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序
Python:爬取疫情每日数据
前言 有部分同学留言说为什么412,这是因为我代码里全国的cookies需要你自己打开浏览器更新好后替换,而且这个cookies大概只能持续20秒左右! 另外全国卫健委的数据格式一直在变,也有可能会导致爬取失败! 我现在已根据2月14日最新通报稿的格式修正了! 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 为什么已经有大量平台做
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
粒子群算法求解物流配送路线问题(python)
粒子群算法求解物流配送路线问题(python) 1.查找论文文献 找一篇物流配送路径优化+粒子群算法求解的论文 参考文献:基于混沌粒子群算法的物流配送路径优化 2.了解粒子群算法的原理 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/details/81382794 3.确定编码方式和解码策略 3.1编码方式 物流配送路线的
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang.
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问

相似问题

6
5张表关联汇总(数据量大,要求性能)如何实现
4
sql大数据自关联查询优化
4
请教下,SQL取两个字符之间的数据
1
求助大神表A有近一年的每天的数据从A里取当前日期和前六个月的月末数据一共七天数据结果放在一张表里
2
审批表与员工表通过员工编号关联,我要取审批记录中的申请人和审批人的数据,如何实现?
2
C++用ADO方式链接SQLserver数据库,如何扩容数据集?
2
SQL主表和一个子表关联,现在想取子表的数据写入到子表的4个字段中去,有没有什么好的实现方式呢?
2
mysql关联表查询如何返回像json格式的数据呢?
3
sql server数据库,现在我有一张表的数据,分别放在两个数据库上。
2
sql server 数据同步
2
SQL数据库A表A列与B表B列对应 怎么把对应的B表C列数据留在A表A?
2
一个sql问题,如何获取关联表中的优先级最高的一条数据?
2
SQL查找表内某字段中非指定格式的所有数据
1
如何在SQLServer中将包含日期时间类型的数据离整点正负5分钟的时间分到同一组内
2
sqlserver大数据优化,表分区疑问
2
SQL语句同一张表内如何同时取出ID和父ID的数据
2
如何用一个按钮实现 点一下按钮自动从SQL中表数据更新到我的EXCEL中 ?
1
Sql Server怎么通过不同的外键关联不同的表返回动态的Map
1
Oracle 数据库相关,用sql语句写一个存储过程实现针对单张表的逻辑数据导出功能
2
sqlserver表中数据操作