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

软件学校网站模板去除wordpress阅读更多字段

软件学校网站模板,去除wordpress阅读更多字段,网站公众号建设工具,奢侈品手表网站SQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace#xff0c;一般定义为对应的接口类的路径。写好SQL语句映射文件后#xff0c;需要在MyBAtis配置文件mappers标签中引用#xff0c;例如#xff1a; Xml代码 mappers mapper resource一般定义为对应的接口类的路径。写好SQL语句映射文件后需要在MyBAtis配置文件mappers标签中引用例如   Xml代码   mappers      mapper resourcecom/liming/manager/data/mappers/UserMapper.xml /      mapper resourcecom/liming/manager/data/mappers/StudentMapper.xml /      mapper resourcecom/liming/manager/data/mappers/ClassMapper.xml /      mapper resourcecom/liming/manager/data/mappers/TeacherMapper.xml /  /mappers       当Java接口与XML文件在一个相对路径下时可以不在myBatis配置文件的mappers中声明。   SQL 映射XML 文件一些初级的元素 1. cache – 配置给定模式的缓存2. cache-ref – 从别的模式中引用一个缓存3. resultMap – 这是最复杂而却强大的一个元素了它描述如何从结果集中加载对象4. sql – 一个可以被其他语句复用的SQL 块5. insert – 映射INSERT 语句6. update – 映射UPDATE 语句7. delete – 映射DELEETE 语句8. select  -  映射SELECT语句   2.1 resultMap         resultMap 是MyBatis 中最重要最强大的元素了。你可以让你比使用JDBC 调用结果集省掉90%的代码也可以让你做许多JDBC 不支持的事。现实上要写一个等同类似于交互的映射这样的复杂语句可能要上千行的代码。ResultMaps 的目的就是这样简单的语句而不需要多余的结果映射更多复杂的语句除了只要一些绝对必须的语句描述关系以外再也不需要其它的。 resultMap属性type为java实体类id为此resultMap的标识。    resultMap可以设置的映射 1. constructor – 用来将结果反射给一个实例化好的类的构造器 a) idArg – ID 参数将结果集标记为ID以方便全局调用b) arg –反射到构造器的通常结果 2. id – ID 结果将结果集标记为ID以方便全局调用 3. result – 反射到JavaBean 属性的普通结果 4. association – 复杂类型的结合多个结果合成的类型 a) nested result mappings – 几resultMap 自身嵌套关联也可以引用到一个其它上 5. collection –复杂类型集合a collection of complex types 6. nested result mappings – resultMap 的集合也可以引用到一个其它上 7. discriminator – 使用一个结果值以决定使用哪个resultMap a) case – 基本一些值的结果映射的case 情形 i. nested result mappings –一个case 情形本身就是一个结果映射因此也可以包括一些相同的元素也可以引用一个外部resultMap。     2.1.1 id、result id、result是最简单的映射id为主键映射result其他基本数据库表字段到实体类属性的映射。  最简单的例子   Xml代码   resultMap typeliming.student.manager.data.model.StudentEntity idstudentResultMap      id  propertystudentId        columnSTUDENT_ID javaTypeString jdbcTypeVARCHAR/      result propertystudentName       columnSTUDENT_NAME javaTypeString jdbcTypeVARCHAR/      result propertystudentSex        columnSTUDENT_SEX  javaTypeint jdbcTypeINTEGER/      result propertystudentBirthday   columnSTUDENT_BIRTHDAY  javaTypeDate jdbcTypeDATE/      result propertystudentPhoto  columnSTUDENT_PHOTO javaTypebyte[] jdbcTypeBLOB typeHandlerorg.apache.ibatis.type.BlobTypeHandler /  /resultMap         id、result语句属性配置细节   属性 描述   property 需要映射到JavaBean 的属性名称。   column 数据表的列名或者标签别名。   javaType 一个完整的类名或者是一个类型别名。如果你匹配的是一个JavaBean那MyBatis 通常会自行检测到。然后如果你是要映射到一个HashMap那你需要指定javaType 要达到的目的。   jdbcType 数据表支持的类型列表。这个属性只在insert,update 或delete 的时候针对允许空的列有用。JDBC 需要这项但MyBatis 不需要。如果你是直接针对JDBC 编码且有允许空的列而你要指定这项。   typeHandler 使用这个属性可以覆写类型处理器。这项值可以是一个完整的类名也可以是一个类型别名。       支持的JDBC类型       为了将来的引用MyBatis 支持下列JDBC 类型通过JdbcType 枚举BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINYINTREALVARCHARBINARYBLOBNVARCHARSMALLINTDOUBLELONGVARCHARVARBINARYCLOBNCHARINTEGERNUMERICDATELONGVARBINARYBOOLEANNCLOBBIGINTDECIMALTIMENULLCURSOR     2.1.2 constructor         我们使用id、result时候需要定义java实体类的属性映射到数据库表的字段上。这个时候是使用JavaBean实现的。当然我们也可以使用实体类的构造方法来实现值的映射这个时候是通过构造方法参数的书写的顺序来进行赋值的。        使用construcotr功能有限例如使用collection级联查询。        上面使用id、result实现的功能就可以改为 Xml代码   resultMap typeStudentEntity idstudentResultMap       constructor          idArg javaTypeString columnSTUDENT_ID/          arg javaTypeString columnSTUDENT_NAME/          arg javaTypeString columnSTUDENT_SEX/          arg javaTypeDate columnSTUDENT_BIRTHDAY/      /constructor  /resultMap             当然我们需要定义StudentEntity实体类的构造方法 Java代码   public StudentEntity(String studentID, String studentName, String studentSex, Date studentBirthday){      this.studentID  studentID;      this.studentName  studentName;      this.studentSex  studentSex;      this.studentBirthday  studentBirthday;  }           2.1.3 association联合 联合元素用来处理“一对一”的关系。需要指定映射的Java实体类的属性属性的javaType通常MyBatis 自己会识别。对应的数据库表的列名称。如果想覆写的话返回结果的值需要指定typeHandler。不同情况需要告诉MyBatis 如何加载一个联合。MyBatis 可以用两种方式加载 1. select: 执行一个其它映射的SQL 语句返回一个Java实体类型。较灵活2. resultsMap: 使用一个嵌套的结果映射来处理通过join查询结果集映射成Java实体类型。   例如一个班级对应一个班主任。 首先定义好班级中的班主任属性 Java代码   private TeacherEntity teacherEntity;       2.1.3.1使用select实现联合  例班级实体类中有班主任的属性通过联合在得到一个班级实体时同时映射出班主任实体。  这样可以直接复用在TeacherMapper.xml文件中定义好的查询teacher根据其ID的select语句。而且不需要修改写好的SQL语句只需要直接修改resultMap即可。  ClassMapper.xml文件部分内容 Xml代码   resultMap typeClassEntity idclassResultMap      id propertyclassID columnCLASS_ID /      result propertyclassName columnCLASS_NAME /      result propertyclassYear columnCLASS_YEAR /      association propertyteacherEntity columnTEACHER_ID selectgetTeacher/  /resultMap    select idgetClassByID parameterTypeString resultMapclassResultMap      SELECT * FROM CLASS_TBL CT      WHERE CT.CLASS_ID  #{classID};  /select        TeacherMapper.xml文件部分内容 Xml代码   resultMap typeTeacherEntity idteacherResultMap      id propertyteacherID columnTEACHER_ID /      result propertyteacherName columnTEACHER_NAME /      result propertyteacherSex columnTEACHER_SEX /      result propertyteacherBirthday columnTEACHER_BIRTHDAY/      result propertyworkDate columnWORK_DATE/      result propertyprofessional columnPROFESSIONAL/  /resultMap    select idgetTeacher parameterTypeString  resultMapteacherResultMap      SELECT *        FROM TEACHER_TBL TT       WHERE TT.TEACHER_ID  #{teacherID}  /select         2.1.3.2使用resultMap实现联合  与上面同样的功能查询班级同时查询器班主任。需在association中添加resultMap在teacher的xml文件中定义好的新写sql查询班级表left join教师表不需要teacher的select。  修改ClassMapper.xml文件部分内容 Xml代码   resultMap typeClassEntity idclassResultMap      id propertyclassID columnCLASS_ID /      result propertyclassName columnCLASS_NAME /      result propertyclassYear columnCLASS_YEAR /      association propertyteacherEntity columnTEACHER_ID  resultMapteacherResultMap/  /resultMap    select idgetClassAndTeacher parameterTypeString resultMapclassResultMap      SELECT *        FROM CLASS_TBL CT LEFT JOIN TEACHER_TBL TT ON CT.TEACHER_ID  TT.TEACHER_ID       WHERE CT.CLASS_ID  #{classID};  /select    其中的teacherResultMap请见上面TeacherMapper.xml文件部分内容中。     2.1.4 collection聚集 聚集元素用来处理“一对多”的关系。需要指定映射的Java实体类的属性属性的javaType一般为ArrayList列表中对象的类型ofTypeJava实体类对应的数据库表的列名称不同情况需要告诉MyBatis 如何加载一个聚集。MyBatis 可以用两种方式加载 1. select: 执行一个其它映射的SQL 语句返回一个Java实体类型。较灵活2. resultsMap: 使用一个嵌套的结果映射来处理通过join查询结果集映射成Java实体类型。   例如一个班级有多个学生。首先定义班级中的学生列表属性 Java代码   private ListStudentEntity studentList;       2.1.4.1使用select实现聚集  用法和联合很类似区别在于这是一对多所以一般映射过来的都是列表。所以这里需要 定义javaType为ArrayList还需要定义列表中对象的类型ofType以及必须设置的select的语句名称需要注意的是这里的查询 student的select语句条件必须是外键classID。   ClassMapper.xml文件部分内容 Xml代码   resultMap typeClassEntity idclassResultMap      id propertyclassID columnCLASS_ID /      result propertyclassName columnCLASS_NAME /      result propertyclassYear columnCLASS_YEAR /      association propertyteacherEntity columnTEACHER_ID  selectgetTeacher/      collection propertystudentList columnCLASS_ID javaTypeArrayList ofTypeStudentEntity selectgetStudentByClassID/  /resultMap    select idgetClassByID parameterTypeString resultMapclassResultMap      SELECT * FROM CLASS_TBL CT      WHERE CT.CLASS_ID  #{classID};  /select         StudentMapper.xml文件部分内容 Xml代码   !-- java属性数据库表字段之间的映射定义 --  resultMap typeStudentEntity idstudentResultMap      id propertystudentID columnSTUDENT_ID /      result propertystudentName columnSTUDENT_NAME /      result propertystudentSex columnSTUDENT_SEX /      result propertystudentBirthday columnSTUDENT_BIRTHDAY /  /resultMap    !-- 查询学生list根据班级id --  select idgetStudentByClassID parameterTypeString resultMapstudentResultMap      include refidselectStudentAll /      WHERE ST.CLASS_ID  #{classID}  /select         2.1.4.2使用resultMap实现聚集  使用resultMap就需要重写一个sqlleft join学生表。 Xml代码   resultMap typeClassEntity idclassResultMap      id propertyclassID columnCLASS_ID /      result propertyclassName columnCLASS_NAME /      result propertyclassYear columnCLASS_YEAR /      association propertyteacherEntity columnTEACHER_ID  resultMapteacherResultMap/      collection propertystudentList columnCLASS_ID javaTypeArrayList ofTypeStudentEntity resultMapstudentResultMap/  /resultMap    select idgetClassAndTeacherStudent parameterTypeString resultMapclassResultMap      SELECT *        FROM CLASS_TBL CT             LEFT JOIN STUDENT_TBL ST                ON CT.CLASS_ID  ST.CLASS_ID             LEFT JOIN TEACHER_TBL TT                ON CT.TEACHER_ID  TT.TEACHER_ID        WHERE CT.CLASS_ID  #{classID};  /select    其中的teacherResultMap请见上面TeacherMapper.xml文件部分内容中。studentResultMap请见上面StudentMapper.xml文件部分内容中。   2.1.5discriminator鉴别器   有时一个单独的数据库查询也许返回很多不同但是希望有些关联数据类型的结果集。鉴别器元素就是被设计来处理这个情况的还有包括类的继承层次结构。鉴别器非常容易理解因为它的表现很像Java语言中的switch语句。 定义鉴别器指定了column和javaType属性。列是MyBatis查找比较值的地方。JavaType是需要被用来保证等价测试的合适类型尽管字符串在很多情形下都会有用。 下面这个例子为当classId为20000001时才映射classId属性。       Xml代码   resultMap typeliming.student.manager.data.model.StudentEntity idresultMap_studentEntity_discriminator      id  propertystudentId        columnSTUDENT_ID javaTypeString jdbcTypeVARCHAR/      result propertystudentName       columnSTUDENT_NAME javaTypeString jdbcTypeVARCHAR/      result propertystudentSex        columnSTUDENT_SEX  javaTypeint jdbcTypeINTEGER/      result propertystudentBirthday   columnSTUDENT_BIRTHDAY  javaTypeDate jdbcTypeDATE/      result propertystudentPhoto  columnSTUDENT_PHOTO javaTypebyte[] jdbcTypeBLOB typeHandlerorg.apache.ibatis.type.BlobTypeHandler /      result propertyplaceId           columnPLACE_ID javaTypeString jdbcTypeVARCHAR/      discriminator columnCLASS_ID javaTypeString jdbcTypeVARCHAR          case value20000001 resultTypeliming.student.manager.data.model.StudentEntity               result propertyclassId columnCLASS_ID javaTypeString jdbcTypeVARCHAR/          /case      /discriminator  /resultMap  转载于:https://www.cnblogs.com/charlexu/archive/2013/03/15/2961118.html
http://www.pierceye.com/news/261245/

相关文章:

  • 网站备案 子域名云南商城网站建设
  • 上传到服务器的网站打开是空白网站报备流程
  • 如何用ps做网站标识一个叫mit做app的网站
  • 网站免费网站免费主流网站模板
  • 湖州市交通建设管理局网站牌具做网站可以吗
  • 湖南鸿泰电力建设有限公司网站西安做小程序的公司
  • 学校资源网站建设方案聊城网站建设
  • windows 做网站服务器python做的网站漏洞
  • 培训网站推荐网站内容该怎么做
  • 精通网站建设电子档朵朵软件网站建设
  • 铜山区规划建设局网站网站开发的甘特图
  • 访问网站速度慢中国最新军事新闻直播
  • 商城网站的psd模板免费下载哪里可以上传自己的php网站
  • 珠宝网站策划书网页设计的毕业设计
  • 最经典最常用的网站推广方式什么做网站赚钱
  • 广州哪家做网站化妆品网站方案
  • cms开源网站管理系统北京网站建设策划解决方案
  • 洛阳做多屏合一网站最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章
  • 宁国新站seo中国建筑网官网监理工程师网站
  • 自己建网站多少钱福州建设企业网站
  • 容桂佛山做app网站wordpress 搜索 任意
  • dw做单页网站教程盐城网站建设价位
  • 赤峰建设业协会的官方网站wordpress博客伪静态
  • 2016个人做淘宝客网站网站备案备注信息
  • 加盟招商推广网站怎么做网站的防盗链
  • 南阳网站关键词ppt在线浏览网站源码
  • 用vs2012做网站首页涉密网络建设
  • 个人主题网站设计seo技术论坛
  • 做venn图的网站网页设计期末考试作品
  • 中英文网站怎么做外贸SOHO建公司网站