如何学好JAVA的 spring和hibernate,具体点说,别拷贝一大堆没用的
如何学好JAVA的spring和hibernate,具体点说,我有JAVA基础,也学过spring和hibernate,但现在看到还很头痛我对s2的框架都了解,所以没问怎...
如何学好JAVA的 spring和hibernate,具体点说,我有JAVA基础,也学过 spring和hibernate,但现在看到还很头痛
我对s2的框架都了解,所以没问怎么学s2 展开
我对s2的框架都了解,所以没问怎么学s2 展开
8个回答
展开全部
spring很简单的,就是依赖注入也叫做控制反转(IOC) inverse of control!
他的依赖注入主要是解决耦合的问题,他的AOP主要是用于事务的动态植入这点有点类似EJB,不过EJB是重量级的,spring是轻量级的!
spring还包括了DAO模式的实现,包括对一些框架的集成!
还有一些Template和CallBack的简化!
也就这点东西,不是很难,如果学会有一周足够了,想深入的了解,你就要去看看CgLib和java本身的动态代理类,看看具体是如何做AOP的,在学习一些设计模式例如DAO或者Template模式,CallBack模式,自然就明白spring的理论和实现了!
hibernate学好还不简单,当你认为这个问题你能学好时,你就已经学好了一半了,当然需要些根据的,比如一个好的视频教程。
看十天书不如看一天视频呀。 刻骨铭心的理解。当然看了教程之后你也要看看书的,毕竟理论的掌握好。
学习它们两个个一个共同之处是配置文件初学时尽量自己多写写!
我是一名JAVA程序员,不会的可以请教我~~~呵呵
希望我的回答能够帮到您!~~~
他的依赖注入主要是解决耦合的问题,他的AOP主要是用于事务的动态植入这点有点类似EJB,不过EJB是重量级的,spring是轻量级的!
spring还包括了DAO模式的实现,包括对一些框架的集成!
还有一些Template和CallBack的简化!
也就这点东西,不是很难,如果学会有一周足够了,想深入的了解,你就要去看看CgLib和java本身的动态代理类,看看具体是如何做AOP的,在学习一些设计模式例如DAO或者Template模式,CallBack模式,自然就明白spring的理论和实现了!
hibernate学好还不简单,当你认为这个问题你能学好时,你就已经学好了一半了,当然需要些根据的,比如一个好的视频教程。
看十天书不如看一天视频呀。 刻骨铭心的理解。当然看了教程之后你也要看看书的,毕竟理论的掌握好。
学习它们两个个一个共同之处是配置文件初学时尽量自己多写写!
我是一名JAVA程序员,不会的可以请教我~~~呵呵
希望我的回答能够帮到您!~~~
展开全部
spring 需要了解的主要是对于XML文件解析的定义和规则,java已经提供了解析XML文件的基本框架。目标是:【作为对象之间的关系管理的容器】。
hibernate 关键在于了解对象关系映射,这里的关系当然是关系数据库了,java提供了JDBC规范来提供数据库的基本操作,再有一套JPA来专门用于持久化的操作。目标是:【建立对象关系(关系数据库)映射+包装持久化操作】
现在,java框架的学习、教学都很流行了,但是很多情况下,都是从主流框架的实体本身起,这些框架带有的特定形式,使得在形式上的学习花费了太多的学习时间,而往往到了框架工具应用的本质时反而容易被忽略。
学习框架前,最好踏踏实实地先只用servlet+手工实体类,多多练习几个项目,应该就能体会到在这些工作中,很多时候的工作是重复的、繁琐的,我们完全可以把这些工作作一次性总结,每当遇到相似的工作就交给程序来完成,这就是框架的形成。
本着这样的学习方式,我只用了两个月,也自己写了一个简单框架,是集合了MVC+ORM+DI的框架,我也觉得,学习框架最好能够自己试着写一下。
最主要的是要把握好每种框架的主要目标,很多繁琐的工具,并不是一定都要记住的,用的多了就OK了。
hibernate 关键在于了解对象关系映射,这里的关系当然是关系数据库了,java提供了JDBC规范来提供数据库的基本操作,再有一套JPA来专门用于持久化的操作。目标是:【建立对象关系(关系数据库)映射+包装持久化操作】
现在,java框架的学习、教学都很流行了,但是很多情况下,都是从主流框架的实体本身起,这些框架带有的特定形式,使得在形式上的学习花费了太多的学习时间,而往往到了框架工具应用的本质时反而容易被忽略。
学习框架前,最好踏踏实实地先只用servlet+手工实体类,多多练习几个项目,应该就能体会到在这些工作中,很多时候的工作是重复的、繁琐的,我们完全可以把这些工作作一次性总结,每当遇到相似的工作就交给程序来完成,这就是框架的形成。
本着这样的学习方式,我只用了两个月,也自己写了一个简单框架,是集合了MVC+ORM+DI的框架,我也觉得,学习框架最好能够自己试着写一下。
最主要的是要把握好每种框架的主要目标,很多繁琐的工具,并不是一定都要记住的,用的多了就OK了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-01-09
展开全部
我现在也在学呢,我喜欢看视频教程。从网上下一些教程吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以我的一点点经验来给你说吧,看你给分也挺多的。
我是做JavaEE方面开发的,学过ssh框架。对于Java学习我给这么点建议:
1、学校程序基础最重要,没有打好基础就去追求学习很广的技术,我个人觉得是不可的,前段面试,发现人家公司对于基础是相当看重的,因为基础代表了你的潜力。这个基础不但包括Java方面的基础,还包括一些诸如数据库、数据结构、网络等方面哈。学习Java基础,我觉得可以多看几遍Think in Java。
2、在学好基础的前提下,可以做些项目或者看些优秀代码来提高自己的编码水平,这是很有效的,特别是静下心来看代码。然后模仿人家的代码写程序,这样下来能提高不少哈。
3、对于框架的一点建议,其实框架要会用是很容易的,看点视频就行了,但这样是不够的,培训机构大把大把的人会用这些流行框架。要做到理解框架的底层实现原理才行,淘宝阿里的面试就看重你有没有看过ssh框架这些源码,你懂不懂他的底层实现,其实这些框架都是优秀代码,可以多话时间看看人家的实现,当然这是要有很好的Java基础才行的。
好了 就这么多了,希望对你有所帮助。
我是做JavaEE方面开发的,学过ssh框架。对于Java学习我给这么点建议:
1、学校程序基础最重要,没有打好基础就去追求学习很广的技术,我个人觉得是不可的,前段面试,发现人家公司对于基础是相当看重的,因为基础代表了你的潜力。这个基础不但包括Java方面的基础,还包括一些诸如数据库、数据结构、网络等方面哈。学习Java基础,我觉得可以多看几遍Think in Java。
2、在学好基础的前提下,可以做些项目或者看些优秀代码来提高自己的编码水平,这是很有效的,特别是静下心来看代码。然后模仿人家的代码写程序,这样下来能提高不少哈。
3、对于框架的一点建议,其实框架要会用是很容易的,看点视频就行了,但这样是不够的,培训机构大把大把的人会用这些流行框架。要做到理解框架的底层实现原理才行,淘宝阿里的面试就看重你有没有看过ssh框架这些源码,你懂不懂他的底层实现,其实这些框架都是优秀代码,可以多话时间看看人家的实现,当然这是要有很好的Java基础才行的。
好了 就这么多了,希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我为这个问题专门写了一个测试用例:
看下面的几个文件:
可能贴的顺序上有点问题,楼主可以自己整理一下:
(1) applicationContext.xml
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "">
<beans>
<!-- 引入参数配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>jdbc.properties</value>
</list>
</property>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass"><value>$</value></property>
<property name="jdbcUrl"><value>$</value></property>
<property name="user"><value>$</value></property>
<property name="password"><value>$</value></property>
<property name="initialPoolSize"><value>$</value></property>
<property name="minPoolSize"><value>$</value></property>
<property name="maxPoolSize"><value>$</value></property>
</bean>
<!-- spring Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.jdbc.fetch_size">80</prop>
<prop key="hibernate.jdbc.batch_size">35</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/spring/demo/bean/mapping/Book.hbm.xml</value>
</list>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- 事务代理拦截器的配置 -->
<bean id="baseTransactionProxy" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="hibernate_BookDao" class="com.spring.demo.dao.Hibernate_BookDao" >
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="hibernate_BookManager" parent="baseTransactionProxy">
<property name="target">
<bean class="com.spring.demo.manager.Hibernate_BookManager">
<property name="dao">
<ref bean="hibernate_BookDao"/>
</property>
</bean>
</property>
</bean>
</beans>
---------------------
(2) jdbc.properties
## 这个事连接mysql数据库的具体参数配置,
## 楼主要根据自己的数据来配置,不可直接使用
---------------------
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springdemo?useUnicode=true&characterEncoding=utf-8
jdbc.user=root
jdbc.password=root
jdbc.initialPoolSize=1
jdbc.minPoolSize=1
jdbc.maxPoolSize=10
---------------------
说明:applicationContext.xml 应用了jdbc.properties文件
,我自己测试,没有问题,而且是spring配置式事务的。
需要JAR包
spring.jar
c3p0.jar
mysql.jar
cglib.jar
asm.jar
antlr.jar
hibernate3.jar
jta.jar
dom4j.jar
commons-collections.jar
commons-logging.jar
-----------
Hibernate_BookDao.java
--------------
package com.spring.demo.dao;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.spring.demo.bean.Book;
/**
*
* @author wangyudong
*
*/
public class Hibernate_BookDao extends HibernateDaoSupport {
/**
* 添加一本书
* @param book
*/
public void insertBook(Book book){
this.getHibernateTemplate().save(book);
}
/**
* 修改一本书
* @param book
*/
public void updateBook(Book book){
this.getHibernateTemplate().update(book);
}
/**
* 根据ID来删除一本书
* @param id
*/
public void deleteBook(Integer id){
Book book = new Book();
book.setId(id);
this.getHibernateTemplate().delete(book);
}
/**
* 根据ID来查询书对象
* @param id
* @return
*/
public Book selectBookById(Integer id){
String hql = "from Book b where b.id=?";
Object[] params = new Object[];
List list = this.getHibernateTemplate().find(hql, params );
if(list!=null && list.size()>0){
return (Book)list.get(0);
}
return null ;
}
/**
* 根据书名来查询相关书记录列表
* @param name
* @return
*/
public List selectBookByName(String name){
String hql = "from Book b where b.name like ?";
Object[] params = new Object[];
return this.getHibernateTemplate().find(hql, params);
}
}
--------------
(2) Hibernate_BookManager.java
---------------
package com.spring.demo.manager;
import java.util.List;
import com.spring.demo.bean.Book;
import com.spring.demo.dao.Hibernate_BookDao;
public class Hibernate_BookManager {
private Hibernate_BookDao dao ;
/**
* 批量添加书本,如果列表长度超过3,就抛出异常
* @param books
*/
public void insertBooks(List books){
for(int i=0 ; i<books.size() ;i++){
if(i>2){
throw new RuntimeException("中断事务异常,当列表长度大于3的时候故意抛出,看看事务是否回滚");
}
Book book = (Book)books.get(i);
dao.insertBook(book);
}
}
/**
* 添加一本书
* @param book
*/
public void insertBook(Book book){
this.dao.insertBook(book);
}
/**
* 修改一本书
* @param book
*/
public void updateBook(Book book){
this.dao.updateBook(book);
}
/**
* 根据ID来删除一本书
* @param id
*/
public void deleteBook(Integer id){
this.dao.deleteBook(id);
}
/**
* 根据ID来查询书对象
* @param id
* @return
*/
public Book selectBookById(Integer id){
return this.dao.selectBookById(id);
}
/**
* 根据书名来查询相关书记录列表
* @param name
* @return
*/
public List selectBookByName(String name){
return this.dao.selectBookByName(name);
}
// getter and setter //
public Hibernate_BookDao getDao() {
return dao;
}
public void setDao(Hibernate_BookDao dao) {
this.dao = dao;
}
}
---------------
(3)Book.java
--------------
package com.spring.demo.bean;
import java.io.Serializable;
/*
DROP TABLE IF EXISTS book ;
CREATE TABLE book(
id int(11) NOT NULL auto_increment COMMENT 'primary key',
name varchar(60) default NULL COMMENT 'book name',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='my book table';
*/
public class Book implements Serializable {
public Book(){}
public Book(String name){
this.name = name;
}
/**
* ID
*/
private Integer id ;
/**
* 书名
*/
private String name ;
// getter and setter
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
--------------
(4)Book.hbm.xml
---------------
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"">
<hibernate-mapping>
<class name="com.spring.demo.bean.Book" table="BOOK" >
<id name="id" type="integer" length="11">
<column name="id" />
<generator class="identity" />
</id>
<property name="name" column="NAME" type="string" length="60" ></property>
</class>
</hibernate-mapping>
---------------
#mysql的造表语句,指定了数据库springdemo#
---------------------
MYSQL 的BOOK 表创建语句
CREATE DATABASE IF NOT EXISTS springdemo;
USE springdemo;
DROP TABLE IF EXISTS book ;
CREATE TABLE book(
id int(11) NOT NULL auto_increment COMMENT 'primary key',
name varchar(60) default NULL COMMENT 'book name',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='my book table';
---------------------
下面是我的测试方法:
===========
package com.spring.demo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.demo.bean.Book;
import com.spring.demo.manager.Hibernate_BookManager;
public class HibernateDemo {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml") ;
Hibernate_BookManager manager = (Hibernate_BookManager)context.getBean("hibernate_BookManager");
List books = new ArrayList();
books.add(new Book("book_01"));
books.add(new Book("book_02"));
books.add(new Book("book_03"));
books.add(new Book("book_04"));
manager.insertBooks(books);
System.out.println("OK");
}
}
确信是调通的,
==================
看在我专门为回答这个问题写了这个测试用例,
给个高分?
看下面的几个文件:
可能贴的顺序上有点问题,楼主可以自己整理一下:
(1) applicationContext.xml
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "">
<beans>
<!-- 引入参数配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>jdbc.properties</value>
</list>
</property>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass"><value>$</value></property>
<property name="jdbcUrl"><value>$</value></property>
<property name="user"><value>$</value></property>
<property name="password"><value>$</value></property>
<property name="initialPoolSize"><value>$</value></property>
<property name="minPoolSize"><value>$</value></property>
<property name="maxPoolSize"><value>$</value></property>
</bean>
<!-- spring Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.jdbc.fetch_size">80</prop>
<prop key="hibernate.jdbc.batch_size">35</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/spring/demo/bean/mapping/Book.hbm.xml</value>
</list>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- 事务代理拦截器的配置 -->
<bean id="baseTransactionProxy" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="hibernate_BookDao" class="com.spring.demo.dao.Hibernate_BookDao" >
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="hibernate_BookManager" parent="baseTransactionProxy">
<property name="target">
<bean class="com.spring.demo.manager.Hibernate_BookManager">
<property name="dao">
<ref bean="hibernate_BookDao"/>
</property>
</bean>
</property>
</bean>
</beans>
---------------------
(2) jdbc.properties
## 这个事连接mysql数据库的具体参数配置,
## 楼主要根据自己的数据来配置,不可直接使用
---------------------
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springdemo?useUnicode=true&characterEncoding=utf-8
jdbc.user=root
jdbc.password=root
jdbc.initialPoolSize=1
jdbc.minPoolSize=1
jdbc.maxPoolSize=10
---------------------
说明:applicationContext.xml 应用了jdbc.properties文件
,我自己测试,没有问题,而且是spring配置式事务的。
需要JAR包
spring.jar
c3p0.jar
mysql.jar
cglib.jar
asm.jar
antlr.jar
hibernate3.jar
jta.jar
dom4j.jar
commons-collections.jar
commons-logging.jar
-----------
Hibernate_BookDao.java
--------------
package com.spring.demo.dao;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.spring.demo.bean.Book;
/**
*
* @author wangyudong
*
*/
public class Hibernate_BookDao extends HibernateDaoSupport {
/**
* 添加一本书
* @param book
*/
public void insertBook(Book book){
this.getHibernateTemplate().save(book);
}
/**
* 修改一本书
* @param book
*/
public void updateBook(Book book){
this.getHibernateTemplate().update(book);
}
/**
* 根据ID来删除一本书
* @param id
*/
public void deleteBook(Integer id){
Book book = new Book();
book.setId(id);
this.getHibernateTemplate().delete(book);
}
/**
* 根据ID来查询书对象
* @param id
* @return
*/
public Book selectBookById(Integer id){
String hql = "from Book b where b.id=?";
Object[] params = new Object[];
List list = this.getHibernateTemplate().find(hql, params );
if(list!=null && list.size()>0){
return (Book)list.get(0);
}
return null ;
}
/**
* 根据书名来查询相关书记录列表
* @param name
* @return
*/
public List selectBookByName(String name){
String hql = "from Book b where b.name like ?";
Object[] params = new Object[];
return this.getHibernateTemplate().find(hql, params);
}
}
--------------
(2) Hibernate_BookManager.java
---------------
package com.spring.demo.manager;
import java.util.List;
import com.spring.demo.bean.Book;
import com.spring.demo.dao.Hibernate_BookDao;
public class Hibernate_BookManager {
private Hibernate_BookDao dao ;
/**
* 批量添加书本,如果列表长度超过3,就抛出异常
* @param books
*/
public void insertBooks(List books){
for(int i=0 ; i<books.size() ;i++){
if(i>2){
throw new RuntimeException("中断事务异常,当列表长度大于3的时候故意抛出,看看事务是否回滚");
}
Book book = (Book)books.get(i);
dao.insertBook(book);
}
}
/**
* 添加一本书
* @param book
*/
public void insertBook(Book book){
this.dao.insertBook(book);
}
/**
* 修改一本书
* @param book
*/
public void updateBook(Book book){
this.dao.updateBook(book);
}
/**
* 根据ID来删除一本书
* @param id
*/
public void deleteBook(Integer id){
this.dao.deleteBook(id);
}
/**
* 根据ID来查询书对象
* @param id
* @return
*/
public Book selectBookById(Integer id){
return this.dao.selectBookById(id);
}
/**
* 根据书名来查询相关书记录列表
* @param name
* @return
*/
public List selectBookByName(String name){
return this.dao.selectBookByName(name);
}
// getter and setter //
public Hibernate_BookDao getDao() {
return dao;
}
public void setDao(Hibernate_BookDao dao) {
this.dao = dao;
}
}
---------------
(3)Book.java
--------------
package com.spring.demo.bean;
import java.io.Serializable;
/*
DROP TABLE IF EXISTS book ;
CREATE TABLE book(
id int(11) NOT NULL auto_increment COMMENT 'primary key',
name varchar(60) default NULL COMMENT 'book name',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='my book table';
*/
public class Book implements Serializable {
public Book(){}
public Book(String name){
this.name = name;
}
/**
* ID
*/
private Integer id ;
/**
* 书名
*/
private String name ;
// getter and setter
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
--------------
(4)Book.hbm.xml
---------------
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"">
<hibernate-mapping>
<class name="com.spring.demo.bean.Book" table="BOOK" >
<id name="id" type="integer" length="11">
<column name="id" />
<generator class="identity" />
</id>
<property name="name" column="NAME" type="string" length="60" ></property>
</class>
</hibernate-mapping>
---------------
#mysql的造表语句,指定了数据库springdemo#
---------------------
MYSQL 的BOOK 表创建语句
CREATE DATABASE IF NOT EXISTS springdemo;
USE springdemo;
DROP TABLE IF EXISTS book ;
CREATE TABLE book(
id int(11) NOT NULL auto_increment COMMENT 'primary key',
name varchar(60) default NULL COMMENT 'book name',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='my book table';
---------------------
下面是我的测试方法:
===========
package com.spring.demo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.demo.bean.Book;
import com.spring.demo.manager.Hibernate_BookManager;
public class HibernateDemo {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml") ;
Hibernate_BookManager manager = (Hibernate_BookManager)context.getBean("hibernate_BookManager");
List books = new ArrayList();
books.add(new Book("book_01"));
books.add(new Book("book_02"));
books.add(new Book("book_03"));
books.add(new Book("book_04"));
manager.insertBooks(books);
System.out.println("OK");
}
}
确信是调通的,
==================
看在我专门为回答这个问题写了这个测试用例,
给个高分?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询