标签:
绝逼新手小白,so 请大神指点!
如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢。
好了,正题
刚接触ssh,今天在搞使用.hbm.xml文件 和 注解方式 来自动生成数据表
其中只是整了spring、hibernate,struts部分没有整。也就是说我只是测试了能够自动生成数据表(自动生成为"标准",自认为是对的......)
下面是配置和代码:
使用工具:myeclipse 2014 ,其中web project项目是使用工具自动生成(具体步骤网上小弟也是百度的[一大堆]),
额,绝逼新手,有错请提,勿喷,谢谢。
下面粘代码(俩个项目 目录):
web.xml文件时myeclipse自动生成(俩个一样,就只粘一个了):
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 <display-name>myReply</display-name> 7 <welcome-file-list> 8 <welcome-file>index.jsp</welcome-file> 9 </welcome-file-list> 10 <listener> 11 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 12 </listener> 13 <context-param> 14 <param-name>contextConfigLocation</param-name> 15 <param-value>classpath:applicationContext.xml</param-value> 16 </context-param> 17 </web-app>
db.properties (俩个一样,只粘一个了)
1 jdbc.user=root 2 jdbc.password=123456 3 jdbc.driverClass=com.mysql.jdbc.Driver 4 jdbc.jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 5 6 #3306/test,test是在mysql中自己建的database,具体自己建 7 8 jdbc.initPoolSize=5 9 jdbc.maxPoolSize=10
Test.java和Test.hbm.xml就不粘了,额,就是俩个属性和getter/setter方法,.hbm.xml可以在hibernate jar包中搜个模版再改下;
Store.java(注解方式)
1 package com.entities; 2 3 import java.io.Serializable; 4 5 import javax.persistence.Column; 6 import javax.persistence.Entity; 7 import javax.persistence.GeneratedValue; 8 import javax.persistence.GenerationType; 9 import javax.persistence.Id; 10 import javax.persistence.Table; 11 12 @Entity 13 @Table(name="my_store") 14 public class Store implements Serializable { 15 16 @Id 17 @GeneratedValue(strategy=GenerationType.IDENTITY) 18 private int id; 19 20 @Column(name="sname",length=28) 21 private String name; 22 23 @Column(name="data") 24 private String data; 25 26 public int getId() { 27 return id; 28 } 29 30 public void setId(int id) { 31 this.id = id; 32 } 33 34 public String getName() { 35 return name; 36 } 37 38 public void setName(String name) { 39 this.name = name; 40 } 41 42 public String getData() { 43 return data; 44 } 45 46 public void setData(String data) { 47 this.data = data; 48 } 49 50 public Store() { 51 super(); 52 } 53 54 public Store(int id, String name, String data) { 55 super(); 56 this.id = id; 57 this.name = name; 58 this.data = data; 59 } 60 61 }
hibernate.cfg.xml文件基本一样(只粘一个了):
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <mapping class="com.entities.Store" /> <!-- <mapping class="com.entities.Test" /> 我是ssh项目中的,俩个项目就这句话不同--> </session-factory> </hibernate-configuration>
最最重要的就是applicationContext.xml文件(吭扭了半天,还不知道对不对,晕晕乎乎的将项目启动后[项目启动,数据表自动生成],数据表就生成了,感觉好神奇...)
下面是ssh的applicationContext.xml文件(因未写struts部分,所以不完整,这个就是能自动生成数据表!请别喷,我还没写,咳咳,具体还在摸索...)
喔,粘的时候想到个事情,说一下:applicationContext.xml文件中第二行开始的那些(xml namespace)是我网上找的[3.0/4.0自己看导的jar包]......这不是写的时候没提示 我也很捉急麽(发现加上xmlns:..../context 貌似就有提示了,具体小弟也在摸索)。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:aop="http://www.springframework.org/schema/aop" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xmlns:tx="http://www.springframework.org/schema/tx" 7 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 8 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 9 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 10 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 11 12 13 <context:annotation-config /> 14 <context:component-scan base-package="com" /> 15 16 <!-- 导入资源文件 --> 17 <context:property-placeholder location="classpath:db.properties"/> 18 19 <!-- 配置 C3P0 数据源 --> 20 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 21 <property name="user" value="${jdbc.user}"></property> 22 <property name="password" value="${jdbc.password}"></property> 23 <property name="driverClass" value="${jdbc.driverClass}"></property> 24 <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> 25 26 <property name="initialPoolSize" value="${jdbc.initPoolSize}"></property> 27 <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property> 28 </bean> 29 30 <!-- 配置 SessionFactory 请注意此处,请注意此处,请注意此处,重要事情说三遍--> 31 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 32 <property name="dataSource" ref="dataSource"></property> 33 <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 34 <property name="mappingLocations" value="classpath:com/entities/*.hbm.xml"></property> 35 </bean> 36 37 <!-- 配置 Spring 的声明式事务 --> 38 <!-- 1. 配置 hibernate 的事务管理器 --> 39 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 40 <property name="sessionFactory" ref="sessionFactory"></property> 41 </bean> 42 <!-- 43 2. 配置事务属性 44 <tx:advice id="txAdvice" transaction-manager="transactionManager"> 45 <tx:attributes> 46 <tx:method name="get*" read-only="true"/> 47 <tx:method name="lastNameIsValid" read-only="true"/> 48 <tx:method name="*"/> 49 </tx:attributes> 50 </tx:advice> 51 52 3. 配置事务切入点, 再把事务属性和事务切入点关联起来 53 <aop:config> 54 <aop:pointcut expression="execution(* com.service.*.*(..))" id="txPointcut"/> 55 <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/> 56 </aop:config> 57 --> 58 </beans>
myReply的applicationContext.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:aop="http://www.springframework.org/schema/aop" 6 xmlns:tx="http://www.springframework.org/schema/tx" 7 xsi:schemaLocation="http://www.springframework.org/schema/beans 8 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 9 http://www.springframework.org/schema/aop 10 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 11 http://www.springframework.org/schema/tx 12 http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 13 http://www.springframework.org/schema/context 14 http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 15 16 <context:annotation-config></context:annotation-config> 17 <context:component-scan base-package="com"></context:component-scan> 18 19 <!-- 导入资源文件 --> 20 <context:property-placeholder location="classpath:db.properties"/> 21 22 <!-- 配置C3P0数据源 --> 23 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 24 <property name="user" value="${jdbc.user}"></property> 25 <property name="password" value="${jdbc.password}"></property> 26 <property name="driverClass" value="${jdbc.driver}"></property> 27 <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> 28 29 <property name="initialPoolSize" value="${jdbc.initPoolSize}"></property> 30 <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property> 31 </bean> 32 <!-- 请注意此处,请注意此处,请注意此处,重要事情说三遍 --> 33 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 34 <property name="dataSource" ref="dataSource"></property> 35 <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 36 <!-- <property name="mappingJarLocations" value="classpath:com/entities/*.hbm.xml"></property> --> 37 38 <property name="packagesToScan" value="com"></property> 39 </bean> 40 41 <!-- 配置spring的声明式事务 --> 42 <!-- 1.配置 Hibernate 的事务管理器 --> 43 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 44 <property name="sessionFactory" ref="sessionFactory" /> 45 </bean> 46 47 <tx:annotation-driven transaction-manager="transactionManager" /> 48 </beans>
咳咳,今天也就搞了这么多,纯粹新手小白啊,具体里面有没有错这个问题我也是表示很尴尬的......
启动项目执行后,数据表是自动生成了...咳咳,我是以这个"标准" 自认为 好像大概可能 是没问题的吧......
这俩天再搞搞前端部分,咳咳,新手还不知道要多少天,看课本看的头晕,还迷糊...
不喜勿喷,小弟也是费了一天的脑细胞才总结出来的,还不知道错不错,就请大神们多担待,
纯粹适合刚接触的新手、和我一样的小白...
hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)
标签:
原文地址:http://www.cnblogs.com/jiebai/p/4711582.html