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

公司软件网站建设网站主页模板 优帮云

公司软件网站建设,网站主页模板 优帮云,如何把网站放在根目录,建设网站的基本流程MyBatis 处理枚举类型的机制相对直接#xff0c;它提供了一种灵活的方式来处理Java枚举#xff08;enum#xff09;类型和数据库之间的映射。在MyBatis中#xff0c;你可以通过两种方式处理枚举类型#xff1a;使用枚举的名称#xff08;name#xff09;或者枚举的序号它提供了一种灵活的方式来处理Java枚举enum类型和数据库之间的映射。在MyBatis中你可以通过两种方式处理枚举类型使用枚举的名称name或者枚举的序号ordinal。此外对于更复杂的需求MyBatis允许你通过实现TypeHandler接口自定义枚举类型的处理器。 使用枚举名称name或序号ordinal 默认情况下MyBatis在处理枚举类型时会使用枚举的名称name与数据库中的字符串值进行匹配和映射。如果你的数据库设计是使用枚举的名称来存储的话这种方式非常直接和便利。 例如考虑下面的枚举 public enum Status {ACTIVE, INACTIVE, DELETED; }在MyBatis的映射文件中如果你有一个返回Status枚举的查询你可以直接这样写 select idselectStatus resultTypeStatusSELECT status FROM some_table WHERE id #{id} /selectMyBatis会自动将数据库中返回的status字符串值映射到Status枚举的名称上。 如果你倾向于使用枚举的序号每个枚举常量在声明中的位置从0开始进行存储和匹配你需要自定义TypeHandler来实现这一点。 自定义TypeHandler 当你需要以非标准方式处理枚举类型时例如使用枚举的ordinal值或者枚举中定义的某个字段你可以通过实现TypeHandler接口来自定义枚举的持久化逻辑。 以下是一个使用枚举序号进行映射的TypeHandler示例 MappedTypes(Status.class) public class StatusTypeHandler extends BaseTypeHandlerStatus {Overridepublic void setNonNullParameter(PreparedStatement ps, int i, Status parameter, JdbcType jdbcType) throws SQLException {ps.setInt(i, parameter.ordinal());}Overridepublic Status getNullableResult(ResultSet rs, String columnName) throws SQLException {int ordinal rs.getInt(columnName);if (rs.wasNull()) {return null;}return Status.values()[ordinal];}Overridepublic Status getNullableResult(ResultSet rs, int columnIndex) throws SQLException {int ordinal rs.getInt(columnIndex);if (rs.wasNull()) {return null;}return Status.values()[ordinal];}Overridepublic Status getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {int ordinal cs.getInt(columnIndex);if (cs.wasNull()) {return null;}return Status.values()[ordinal];} }在这个自定义TypeHandler中我们覆盖了setNonNullParameter方法来定义如何将Status枚举设置到PreparedStatement中以及覆盖了getNullableResult方法定义如何从ResultSet中读取数据并转换为Status枚举。 在MyBatis配置中注册TypeHandler 定义了TypeHandler之后还需要在MyBatis配置文件中进行注册 typeHandlerstypeHandler handlerpath.to.StatusTypeHandler/ /typeHandlers深入解析 MyBatis在处理枚举类型时实际上是通过TypeHandler机制来实现的。所有的枚举类型处理最终都是通过相应的TypeHandler来完成数据的转换和映射。 默认枚举处理: 对于枚举类型MyBatis内部默认使用EnumTypeHandler基于枚举的name处理和EnumOrdinalTypeHandler基于枚举的ordinal处理。自定义处理逻辑: 通过实现TypeHandler接口开发者可以自定义枚举类型的处理逻辑以适应不同的业务需求。这一机制提供了极高的灵活性。 总结 MyBatis通过TypeHandler机制提供了对枚举类型的灵活支持无论是使用枚举的名称还是序号还是需要实现更复杂的枚举处理逻辑MyBatis都能够提供相应的解决方案。通过自定义TypeHandler可以实现几乎任何形式的枚举类型持久化策略。
http://www.w-s-a.com/news/231886/

相关文章:

  • 做效果图网站有哪些电子商城网站制作数据库
  • 小刘网站建设wordpress调用php文件上传
  • 建设银行对账网站网络营销广告案例
  • 做网站开票是多少个点的票wordpress扫码提交数据库
  • 织梦网站改版需要怎么做企业网站备案管理系统
  • 大规模网站开发语言宁夏建设职业技术学院网站
  • 寻花问柳专注做一家男人爱的网站北京展台设计制作
  • 中卫网站设计做自己的卡盟网站
  • 广州网站推广自助做网站人家直接百度能搜到的
  • 电子商务网站建设目标及利益分析安徽建设厅网站施
  • 制作网站策划书网站建设公司的性质
  • 哪个网站可以做免费宣传简单的网页设计网站
  • 福州专业网站制作公司金湖建设局网站
  • 好的移动端网站模板下载兰州线上广告推广
  • 宁波高端建站深圳品牌营销策划机构
  • 权威网站优化价格建设厅科技中心网站首页
  • 保定模板建站软件腾讯云做淘客网站
  • 单位建设一个网站的费用正规刷手机单做任务网站
  • 北京定制网站价格开网店怎么卖到外国
  • 做网站 后端是谁来做的工程建设指挥部网站
  • wordpress建站 云打印昆明 网站设计
  • 太原网站建设设计网站建设策划书(建设前的市场分析)
  • 哪里有制作网站电商新手入门知识
  • 制作网站的后台文昌网站建设 myvodo
  • 网站 购买移动网站制作
  • 南京网站网站建设学校英山做网站多少钱
  • 珠海网站建设网如何注册公司公众号
  • 手机网站页面制作网站怎么做快照
  • asp网站怎么仿站推广软件下载平台
  • 电子商务网站建设期末试题08答案互联网怎么做