`
hongan
  • 浏览: 175625 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

Spring的ID增长器使用示例

    博客分类:
  • Java
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
使用Spring的自增长ID生成器完成以下三步即可:
1)配置自增长id生成器,它需要一个数据源的支持。
2)根据配置将自增长id生成器注入DAO各类中。
3)使用nextStringValue,nextIntValue或nextLongValue方法得到ID。


-->
    <!-- 数据源 -->
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName"
            value="org.gjt.mm.mysql.Driver">
        </property>
        <property name="url" value="jdbc:mysql://127.0.0.1/test">
        </property>
        <property name="username" value="root"></property>
        <property name="password" value="hy"></property>
    </bean>

    <!-- jdbcTemplate,供各DAO类使用 -->
    <bean id="jdbcTemplate"
        class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
    </bean>
    
    <!-- 自增长id生成器 -->
    <bean id="idGenarater"
        class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
        <!--自增长ID字段所在的表名 “forumidtable”-->
        <property name="incrementerName" value="forumidtable"/> 
        <!--自增长ID字段 “sequence_id”-->
        <property name="columnName" value="sequence_id"/>
        <!--一次生成ID数目,此设置中一次生成十个,以后从缓存中取,
        就不用每次都访问数据库了,这样能提高效率-->
        <property name="cacheSize" value="10"/> 
        <!--数据源-->
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <!-- User Service -->
    <bean id="userService"
        class="com.heyang.service.UserService">
        <property name="dao" ref="userDao"/> 
        <property name="table" value="ForumUser"/>
    </bean>
    
    <!-- User Dao -->
    <bean id="userDao"
        class="com.heyang.dao.UserDao">
        <property name="idGenarater" ref="idGenarater"/> 
        <property name="table" value="ForumUser"/>
        <property name="jdbcTemplate">
            <ref bean="jdbcTemplate" />
        </property>
    </bean>
</beans>

 

分享到:
评论

相关推荐

    使用maven简单搭建Spring mvc + redis缓存

    在IT行业中,构建一个高效的Web应用常常涉及到各种技术的整合,比如Spring MVC作为控制器层的框架,Redis作为高性能的键值存储系统用于缓存。本文将详细讲解如何使用Maven来简单搭建一个集成了Spring MVC和Redis缓存...

    Spring DAO入门实例

    在这个入门实例中,我们将了解如何使用 Spring 操作数据库,特别是通过 JDBC 进行数据库操作。以下是该实例的详细步骤: 1. **创建数据表**: 在 MySQL 数据库中,我们首先创建一个名为 `myspringuser` 的数据表,...

    15、spring 配置以及使用 1

    `&lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt;` 这个bean定义了一个事务管理器,它是基于数据源的。`DataSourceTransactionManager`是Spring提供的...

    Spring boot + Spring Security 简单配置实例

    在本文中,我们将深入探讨如何使用Spring Boot与Spring Security进行简单的安全配置,同时结合MongoDB作为数据存储。Spring Boot以其简化Spring应用开发的特性而受到广泛欢迎,而Spring Security则是Java安全领域的...

    分布式ID生成器 VESTA

    分布式ID生成器 VESTA 是一个专为解决大型分布式系统中唯一标识符生成问题而设计的工具。在现代互联网应用中,随着业务的扩展和数据量的增长,单一服务器已无法满足高并发、高性能的需求,因此分布式系统应运而生。...

    spring cloud sleuth实现微服务跟踪源码

    然而,随着微服务数量的增长,服务间的调用链路变得复杂,当出现问题时,追踪请求在各个服务间的流转路径变得困难。Spring Cloud Sleuth就是为了应对这一挑战,提供了一种用于分布式系统中的日志跟踪解决方案。 **1...

    Spring Cloud Zuul动态路由demo

    本篇文章将深入探讨如何使用Spring Cloud Zuul实现动态路由,并通过实际的代码示例——"Spring Cloud Zuul动态路由demo"来展示这一功能。 1. **Zuul简介** Zuul是Netflix开源的一个边缘服务,主要功能包括路由转发...

    mongotest.zip

    在本示例中,"mongotest.zip" 提供了一个使用 Spring Boot 整合 MongoDB 的简易项目,旨在展示如何在 MongoDB 中实现数据的增删改查,并且通过某种方式实现了主键自增长。 首先,我们需要理解 Spring Data MongoDB...

    springboot && JPA实现增删改查demo

    在本教程中,我们将深入探讨如何使用Spring Boot与Java Persistence API (JPA) 实现数据库的增删改查(CRUD)操作。Spring Boot简化了Java应用的初始设置,而JPA作为Java的一个标准,提供了ORM(对象关系映射)功能...

    springBoot整合mybatis plus

    - **主键自增**:对于主键类型为整型的字段,可以设置`@TableId(value = "id", type = IdType.AUTO)`,让其自动增长。 - **一键生成代码**:MyBatis Plus提供了代码生成器,可以一键生成实体类、Mapper接口、Mapper ...

    tomcat集群session共享解决方案

    6. **Cookie管理**:可以将session ID存储在cookie中,通过负载均衡器将请求路由到拥有相应session的服务器。这种方法简化了session的处理,但可能面临cookie篡改或跨站请求伪造(CSRF)攻击的风险。 在实际应用中...

    springboot-es.zip

    本示例"springboot-es.zip"包含了完整的SpringBoot2整合Elasticsearch的示例代码,你可以参考其中的实现细节,包括实体类、配置、Repository接口以及控制器等。作者"zhuhaoyu6666"已在CSDN上分享了详细的文章,链接...

    SSH架构搭建--LoginDemo.ppt

    `,然后切换到LoginDemo数据库并创建用户表`user`,设置字段`id`(主键,自动增长)、`userName`和`password`。 2. **数据填充**:向`user`表中插入一条示例数据,如`insert into user values(null, 'bill', '123')...

    第3章 构建 Multi-Tenant 应用

    例如,使用支持多租户的框架如Spring Boot和Hibernate可以简化开发工作。这些框架提供了API和配置选项,帮助开发者轻松地处理租户隔离和数据访问。此外,选择合适的数据库管理系统,如PostgreSQL或MySQL,它们可能...

    Compass+ lucene 通用代码(脱离数据库)

    &lt;bean id="compass" class="org.compass.spring.LocalCompassBean"&gt; &lt;value&gt;classpath:/index/* &lt;prop key="compass.engine.connection"&gt;file:///var/index ``` 接下来,我们关注标签“源码”。...

    dev2_study1

    - **主键(Primary Key)**: 实体类中的唯一标识,使用`@Id`注解标记为主键字段,JPA支持多种主键生成策略,如`GenerationType.IDENTITY`(自动增长)或`GenerationType.SEQUENCE`(序列)等。 - **持久化...

Global site tag (gtag.js) - Google Analytics