当前位置: 首页 > news >正文

帮人做网站赚钱吗镇江网站建设费用

帮人做网站赚钱吗,镇江网站建设费用,咨询公司网站源码,郑州网站营销推广之前在LIS.Core定义了实体特性#xff0c;在LIS.Model给实体类加了表特性#xff0c;属性特性#xff0c;外键特性等。ORM要实现增删改查和查带外键的父表信息就需要解析Model的特性和实体信息组装SQL来供数据库驱动实现增删改查功能。 实现实体得到SQL的工具类#xff0c…之前在LIS.Core定义了实体特性在LIS.Model给实体类加了表特性属性特性外键特性等。ORM要实现增删改查和查带外键的父表信息就需要解析Model的特性和实体信息组装SQL来供数据库驱动实现增删改查功能。 实现实体得到SQL的工具类先实现一个得到查询SQL示例 package LIS.DAL.ORM.Common; import LIS.Core.CustomAttributes.*; import LIS.Core.Dto.*; import LIS.Core.Dto.ParamDto; import java.util.*; import java.util.List; import LIS.DAL.ORM.Common.TableInfo; import LIS.DAL.ORM.DBUtility.IDbFactory;import java.lang.annotation.Annotation; import java.lang.reflect.*; import LIS.DAL.ORM.Common.ColumnInfo; import LIS.DAL.ORM.Common.TableInfo; import LIS.Core.Util.ReflectUtil; import LIS.Core.CustomAttributes.TableAttribute;//通过实体类型得到SQL的工具类 public class ModelToSqlUtil {//通过实体对象得到表信息public static TableInfo GetTypeInfo(Object model) {if (model null) {return null;}try {//返回的对象TableInfo tableInfo new TableInfo();Class c model.getClass();System.out.println(111);//得到表特性Annotation[] annoList c.getAnnotations();if (annoList ! null annoList.length 0) {for (int i 0; i annoList.length; i) {//表特性if (annoList[i] instanceof TableAttribute) {tableInfo.TableInfo (TableAttribute) annoList[i];}//唯一特性else {tableInfo.UniqueList.add((UniqueAttribute) annoList[i]);}}}//得到列信息Field[] declaredFields c.getDeclaredFields();for (int i 0; i declaredFields.length; i) {LIS.DAL.ORM.Common.ColumnInfo col new LIS.DAL.ORM.Common.ColumnInfo();FrekeyAttribute fk declaredFields[i].getAnnotation(FrekeyAttribute.class);col.FkInfo fk;col.Name declaredFields[i].getName();col.ColType declaredFields[i].getType();col.Value declaredFields[i].get(model);tableInfo.ColList.add(col);}return tableInfo;} catch (Exception ex) {ex.printStackTrace();}return null;}//通过表信息和参数列表组装查询SQL//factory:驱动工厂//tableInfo:表信息//para:参数//operList:参数对应的操作符列表//linkList:多个参数之间连接的操作符 and or这种//orderBySql:Order By的SQL语句//IsFk:是否组装外键查询的SQLpublic static String GetSelectSqlByTableInfo(IDbFactory factory,TableInfo tableInfo, ListParamDto para,ListString operList,ListString linkList, String orderBySql,Boolean IsFk){StringBuilder sbnew StringBuilder();sb.append(select );//是否含有序号列boolean HasSequencefalse;boolean HasSeqNumfalse;//组装查询列for(int i0;itableInfo.ColList.size();i){//存列名String columnName tableInfo.ColList.get(i).Name;if(columnNameSequence){HasSequencetrue;}else if(columnNameSeqNum){HasSeqNumtrue;}//组装查询列if(i0){sb.append(factory.DealPropertyName(columnName));}else{sb.append(,factory.DealPropertyName(columnName));}//组装外键查询信息if(IsFktruetableInfo.ColList.get(i).FkInfo!null) {FrekeyAttribute fkAttrtableInfo.ColList.get(i).FkInfo;String refTableNamefactory.DealTableName(GetTableName(ReflectUtil.GetType(LIS.Model.Entity. fkAttr.Name(), LIS.Model)));sb.append(, (select factory.DealPropertyName(fkAttr.AssociaField()) from refTableName where ti. factory.DealPropertyName(columnName) refTableName . factory.DealPropertyName(fkAttr.RefColumnName()) ) as factory.DealPropertyName(columnName _ fkAttr.Name() _ fkAttr.AssociaField()));//如果有拉取字段1查询拉取字段if (fkAttr.AssociaField1() ! ){sb.append(, (select factory.DealPropertyName(fkAttr.AssociaField1()) from refTableName where ti. factory.DealPropertyName(columnName) refTableName . factory.DealPropertyName(fkAttr.RefColumnName()) ) as factory.DealPropertyName(columnName _ fkAttr.Name() _ fkAttr.AssociaField1()));}//如果有拉取字段2查询拉取字段if (fkAttr.AssociaField2() ! ){sb.append(, (select factory.DealPropertyName(fkAttr.AssociaField2()) from refTableName where ti. factory.DealPropertyName(columnName) refTableName . factory.DealPropertyName(fkAttr.RefColumnName()) ) as factory.DealPropertyName(columnName _ fkAttr.Name() _ fkAttr.AssociaField2()));}}}sb.append( from factory.DealTableName(tableInfo.TableInfo.Name()) ti );//组装查询参数if(para!nullpara.size()0){sb.append( where );for(int i0;ipara.size();i){String oper;if(operList!nulloperList.size()i){operoperList.get(i);}String linkand;if(operList!nulloperList.size()i-1){linkoperList.get(i-1);}if(i0) {sb.append(factory.DealPropertyName(para.get(i).Key.toString()) oper factory.DealSqlPara(para.get(i).Key.toString()));}else{sb.append( link factory.DealPropertyName(para.get(i).Key.toString()) oper factory.DealSqlPara(para.get(i).Key.toString()));}}}//存组装的排序sqlString strSort ;//如果传入了排序字段组装排序语句if (orderBySql ! null orderBySql.length() 0){//用来存处理的排序串String dealStr ;//先分割多个排序条件String[] strList orderBySql.split(,);for (int m 0; m strList.length; m){//分开多个排序条件if (m 0){dealStr ,;}//分开字段名称和升降序String[] strSubList strList[m].split( );//处理字段名称dealStr factory.DealPropertyName(strSubList[0]);//组装处理的串for (int n 1; n strSubList.length; n){dealStr strSubList[n];}}//组装排序串strSort Order By dealStr;}else{if (HasSequence){strSort Order By factory.DealPropertyName(Sequence) ASC;}else if (HasSeqNum){strSort Order By factory.DealPropertyName(SeqNum) ASC;}else{strSort ;}}sb.append(strSort);return sb.toString();}//通过实体类型得到实体表名称private static String GetTableName(Class c){//存表名String strTableName ;//得到表特性TableAttribute tableInfo null;//得到表特性Annotation[] annoList c.getAnnotations();if (annoList ! null annoList.length 0) {for (int i 0; i annoList.length; i) {//表特性if (annoList[i] instanceof TableAttribute) {tableInfo (TableAttribute) annoList[i];strTableNametableInfo.Name();break;}}}return strTableName;} } 定义的表信息实体 解析的列信息 package LIS.DAL.ORM.Common; import LIS.Core.CustomAttributes.FrekeyAttribute; import java.lang.reflect.Type;//列信息 public class ColumnInfo {//存外键信息public FrekeyAttribute FkInfonull;//存列名public String Name;//存列结果public Object Value;//存列的类型public Type ColType; } 解析的id信息 package LIS.DAL.ORM.Common;//存主键信息 public class IdInfo {/// summary/// 键值ID/// /summarypublic String Key;/// summary/// 键值数据/// /summarypublic Object Value; } 解析的表信息 package LIS.DAL.ORM.Common; import LIS.Core.CustomAttributes.*; import java.util.*; import LIS.DAL.ORM.Common.ColumnInfo;//存解析的表新 public class TableInfo {//存唯一的特性public ListUniqueAttribute UniqueListnew ArrayListUniqueAttribute();//表特性public TableAttribute TableInfonull;//主键信息public LIS.DAL.ORM.Common.IdInfo IDnull;//存列信息public ListColumnInfo ColListnew ArrayListColumnInfo(); } 测试 控制台测试 package com.company; //import org.apache.commons.configuration.ConfigurationException; //import org.apache.commons.configuration.PropertiesConfiguration; import LIS.Model.Entity.SYSForm; import LIS.Model.Entity.SYSUser; import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; import java.net.URL;public class Main {public static void main(String[] args) {//用容器的配置xml初始化容器LIS.Core.Context.ObjectContainer.InitIoc();//ORM通过容器取数据库驱动工厂LIS.DAL.ORM.EntityManager.EntityManagerImpl ormnew LIS.DAL.ORM.EntityManager.EntityManagerImpl();//执行查询测试orm.DBSelectTest();//测试通过实体得到SQL语句orm.InsertSqlTest(new SYSForm());orm.InsertSqlTest(new SYSUser());} } 测试查询外键的sql select RowID,Code,CName,SysCode,Sequence,Active,Url,Path,Remark,FormHelp,HelpWidth,HelpHeight,HelpDoc,SystemSubDR,(select RowID from dbo.SYS_SystemSub where ti.SystemSubDRdbo.SYS_SystemSub.RowID) as SystemSubDR_SYSSystemSub_RowID,(select from dbo.SYS_SystemSub where ti.SystemSubDRdbo.SYS_SystemSub.RowID) as SystemSubDR_SYSSystemSub_,(select from dbo.SYS_SystemSub where ti.SystemSubDRdbo.SYS_SystemSub.RowID) as SystemSubDR_SYSSystemSub_ from dbo.SYS_Form ti Order By Sequence ASCselect RowID,Code,CName,Password,HospitalDR,(select CName from dbo.BT_Hospital where ti.HospitalDRdbo.BT_Hospital.RowID) as HospitalDR_BTHospital_CName,(select from dbo.BT_Hospital where ti.HospitalDRdbo.BT_Hospital.RowID) as HospitalDR_BTHospital_,(select from dbo.BT_Hospital where ti.HospitalDRdbo.BT_Hospital.RowID) as HospitalDR_BTHospital_,LanguageDR,(select CName from dbo.SYS_Language where ti.LanguageDRdbo.SYS_Language.RowID) as LanguageDR_SYSLanguage_CName,(select from dbo.SYS_Language where ti.LanguageDRdbo.SYS_Language.RowID) as LanguageDR_SYSLanguage_,(select from dbo.SYS_Language where ti.LanguageDRdbo.SYS_Language.RowID) as LanguageDR_SYSLanguage_,SecurityType,PIN,Remark,Sequence,Active,PositionTitleDR,(select CName from dbo.BT_PositionTitle where ti.PositionTitleDRdbo.BT_PositionTitle.RowID) as PositionTitleDR_BTPositionTitle_CName,(select from dbo.BT_PositionTitle where ti.PositionTitleDRdbo.BT_PositionTitle.RowID) as PositionTitleDR_BTPositionTitle_,(select from dbo.BT_PositionTitle where ti.PositionTitleDRdbo.BT_PositionTitle.RowID) as PositionTitleDR_BTPositionTitle_,UserType,UKeyNo,SignImage,Theme,MenuModel,PermissionDR,(select CName from dbo.SYS_Permission where ti.PermissionDRdbo.SYS_Permission.RowID) as PermissionDR_SYSPermission_CName,(select from dbo.SYS_Permission where ti.PermissionDRdbo.SYS_Permission.RowID) as PermissionDR_SYSPermission_,(select from dbo.SYS_Permission where ti.PermissionDRdbo.SYS_Permission.RowID) as PermissionDR_SYSPermission_ from dbo.SYS_User ti Order By Sequence ASC 支持SQL组装的基础雏形完成了Maven的依赖实在是太无语了一会儿IDE提示代码不行的时候Maven编译又可以。一会儿IDE提示可以的时候Maven有编译不行摸不着规律工程换Jboss工程了工程引用浪费大量时间弃用Maven工程后引用依赖稳定了
http://www.w-s-a.com/news/17643/

相关文章:

  • 烟台网站建设求职简历品质商城网站建设
  • 做百度外链哪些网站权重高点做网站具备的条件
  • 怎么样用ppt做网站红番茄 网站点评
  • 建设银行河北分行招聘网站哪里能找到网站
  • 兰州营销型网站网站建设收费标准
  • 网站首页动图怎么做自己做网站很难
  • 自建网站如何盈利推广引流最快的方法
  • 网页设计网站结构图怎么弄网站用户 分析
  • 企业手机网站建设策划天津网页设计工作
  • 苏州vr全景网站建设公司怎么讲解网页的制作技术
  • 徐州智能建站怎么做苏州建设网站首页
  • 网站支付功能报价wordpress主页透明
  • asia域名的网站宁波模板建站源码
  • 官网网站怎么做个人网站盈利
  • 青龙桥网站建设网站同时做竞价和优化可以
  • 沭阳建设网站婴儿辅食中企动力提供网站建设
  • 常州做网站的公司济宁网站建设seo
  • 用wordpress做企业网站视频教程韶关建设网站
  • 怎么做一个免费的网站云南网站设计选哪家
  • dw做六个页面的网站做网站运营有前途吗
  • 中级网站开发工程师 试题战地之王网站做任务
  • 广东东莞保安公司湖南 seo
  • 无锡网站策划公司如何零基础学编程
  • 金融网站如何做设计网站开发流程 文档
  • 用jsp做网站国内知名设计工作室
  • 一键搭建网站北京公司网站设计
  • 山东省城乡建设部网站网站营销单页怎么做
  • 中国移动视频网站建设百度统计官网
  • 网站实施过程网站上传视频怎么做
  • 网上书店网站建设实训总结嘉兴seo