首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring 3.1.1用hibernate 4.1注解配置

关于Spring 3.1.1和Hibernate 4.1的注解配置,我们可以从以下几个方面进行详细介绍:

  1. 配置Spring和Hibernate

首先,我们需要在Spring中配置Hibernate。在Spring的配置文件中,我们需要添加以下内容:

代码语言:xml
复制
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
   <property name="dataSource" ref="dataSource" />
   <property name="annotatedClasses">
        <list>
           <value>com.example.model.User</value>
        </list>
    </property>
   <property name="hibernateProperties">
       <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
    </property>
</bean>

其中,dataSource是我们的数据源,annotatedClasses是我们的实体类,hibernateProperties是Hibernate的配置属性。

  1. 使用Hibernate注解

在Hibernate中,我们可以使用注解来配置实体类。以下是一些常用的注解:

  • @Entity:标记实体类
  • @Table:指定数据库表名
  • @Id:标记主键
  • @GeneratedValue:指定主键生成策略
  • @Column:指定列名和列类型
  • @OneToOne:一对一关系映射
  • @OneToMany:一对多关系映射
  • @ManyToOne:多对一关系映射
  • @ManyToMany:多对多关系映射
  • @JoinColumn:指定关联列
  • @Transient:标记非持久化属性

例如,我们可以使用以下注解来定义一个User实体类:

代码语言:java
复制
@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    // getters and setters
}
  1. 使用Hibernate和Spring进行数据库操作

在Spring中,我们可以使用HibernateTemplate来进行数据库操作。以下是一些常用的方法:

  • save(Object entity):保存实体对象
  • update(Object entity):更新实体对象
  • delete(Object entity):删除实体对象
  • get(Class clazz, Serializable id):根据主键获取实体对象
  • find(String queryString):根据HQL查询语句查询实体对象
  • execute(HibernateCallback action):执行Hibernate操作

例如,我们可以使用以下代码来保存一个User实体对象:

代码语言:java
复制
public void saveUser(User user) {
    getHibernateTemplate().save(user);
}

总之,Spring 3.1.1和Hibernate 4.1的注解配置可以通过以上方式进行配置和使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Hibernate框架学习之注解配置关系映射

而userinfo实体类定义了一个UserCode 类型的属性,当我们使用hibernate进行插入或者返回数据时候,usercode表中对应的记录则会被装在在这个属性中,当然,我们也通过它配置外键关联关系...@JoinColumn用于配置外键列,name属性用于指定外键列的列名,Hibernate将会在userinfo表中增加一个字段用做外键列。...@JoinColumn依然用于配置外键列。 对比着表中的各个字段,再次体会下上述注解中的属性的各个值的意义。 ?...不过这种由一的一端管理关联关系的情况有点反常规逻辑,因此不建议一的一端管理整个关联关系。 四、单向的多对多的关联关系映射 对于单向的多对多关联关系,我们无法使用外键列进行管理。...综上,我们介绍了关系型数据库中常见的几种关联关系,并介绍了Hibernate是如何利用注解对实体类进行映射的。

2.2K90
  • spring aop注解配置

    spring aop是面向切面编程,使用了动态代理的技术,这样可以使业务逻辑的代码不掺入其他乱七八糟的代码 可以在切面上实现合法性校验、权限检验、日志记录。。。...spring aop 的多的有两种配置方法:注解配置和xml配置 注解配置更好,友好重构、错误也好检查 在这里只讲注解配置 aop概念 切面:切面类,里面有切点有通知,切面包括了一切(在哪切,干什么)...切点:定义了在个地方切 通知:定义了在切点处做些什么 连接点:所有可以被切的地方 切面配置 @Aspect public class LibraryAOPConf {} @Aspect标记的类即是一个切面...@EnableAspectJAutoProxy就可以了 或者在xml中加上 切点配置 配置切点需要用到切点表达式 ?...//基于切点表达式配置 @Before("execution (* *.*.*(..))")

    92560

    Spring系列之新注解配置+Spring集成junit+注解注入

    Spring系列之注解配置 Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率 你本来要写一段很长的代码来构造一个...Beam对象,但是如果使用注解的话只要使用一个注解符号即可 ?...使用上面的注解还不可以全部替代xml配置文件,还需要使用注解替代的配置如下 非自定义的Bean的配置: 加载properties文件的配置注解扫描的配置:context:component-scan 引入其他文件: Spring注解 @Configuration 用于指定当前类是一个Spring配置类,创建容器时会从该类上加载注解...来集成junit,springjunit来创建spring容器, 我们只需将配置文件的名称告诉他们即可,将需要的bean直接在容器中进行注入 Spring集成junit的步骤 需要导入的jar包 <

    62120

    spring(基础24) Spring注解@Transactional配置事务

    spring(基础24) Spring注解@Transactional配置事务...声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务的比较多。...声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。本文将着重介绍基于 @Transactional 注解的事务管理。...2、使用方法 注:SpringBoot项目会自动配置一个 DataSourceTransactionManager,所以我们只需在方法(或者类)加上 @Transactional 注解,就自动纳入 Spring...在方法中要么try-catch语句捕获它并处理,要么throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。

    68820

    Spring bean注解配置(2)—— @Autowired

    在使用@Autowired之前,我们对一个bean配置属性时,XML配置是这样的: 但是通过这种方式来,配置比较繁琐,而且代码比较多...由于针对接口编程,因此很有可能多个类实现了同一个接口,这时Spring如果扫描到多个匹配对象,导致Spring不知道选择哪个好,那Spring不客气的就会报错了,所以,如果接口类型的话,可以用以下方法避免出错...4、通过使用自定义的限定符注解,例如我使用@Cold来标注组件类和自动装配两处。那么@Cold怎么自定义呢?我们需要自定义下该注解。...2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired...@Resource(name="baseDao") private BaseDao baseDao; @Resource注解在字段上,且这个注解是属于J2EE的,减少了与spring

    1.3K20

    Spring-基于注解配置

    实例 小结 使用@Autowired进行自动注入 Spring通过@Autowired注解实现Bean的依赖注入。...小结 一般情况下,Spring容器中大部分的Bean是单实例的,所以一般无需通过@Repository、@Service等注解的value属性指定Bean的名称,也无须使用@Qualifier注解按照名称进行注入...虽然Spring支持在属性和方法上标注自动注入注解@Autowired,但在实际项目开发中建议采用在方法上标注@Autowired,因为这样更加“面向对象”,也方便单元测试的编写, 如果将注解标注在私有属性上...---- 对延迟依赖注入的支持 Spring4.0支持延迟依赖注入,即在Spring容器的时候,对已在Bean上标注了@Lazy和@Autowired注解的属性,不会立即注入属性值。...---- 对标准注解的支持 Spring还支持JSR-250中定义的@Resource和JSR-330中定义的@Inject注解,这两个标准注解和@Autowired注解的功能类似,都能对类变更及方法入参提供自动注入功能

    42930

    Spring-基于注解配置

    基于注解配置方式,在Spring2.0引入,Spring2.5完善,Spring4.0得到了进一步的增强。...我们知道,Spring容器成功启动的三大要件分别是: bean的定义信息 bean的实现类 Spring本身 如果采用XML的配置,则Bean的定义信息和Bean的实现类本身是分离的。...而如果采用基于注解配置方式,则Bean的定义信息通过Bean实现类上标注的注解实现。...之外提供3个特殊的注解,是为了让标注类本身的用途清晰化,当然了完全可以@Component替代这3个特殊的注解, 但是我们推荐使用特定的注解标注特定的Bean,这样可以明确的了解Bean的真是身份 -...实例 通过配置文件指定Spring只加载 scan目录下的类的注解,测试resource-pattern属性。 ?

    62610
    领券