在intellij 下用java spring + Mysql + Hibernate 开发的第一个数据库demo

  准备:

    1、安装mysql.

    2、安装maven.

    3、准备好你的ide(eclipse,或intellij都行)

  正题:

     用spring的框架来构建项目,首先就是要知道AOP和DI是什么。(自己查)

  实现过程中有两类疑问?

  1、第一个是spring怎么实现我们没有new Bean然而能够拿到一些bean组件

  2、hibernate和Dao是什么,DaoSupport是什么,为什么有DaoImpl.Impl里面的templete是什么。

  第一类问题是来自对AOP,和DI不理解造成的。在spring中,一个bean对象可以在spring的上下文描述文件中定义好,也就是我们看到的很多的xml文件。xml文件中描述了每个bean是什么里面有什么属性。属性的类型来源等。当这些东西描述好了之后,spring的context会在我们初始化它的xml中去逐个搜索。把里面的bean在要使用的时候都能够初始化好,所以我们能够在上下文中通过一个bean的id直接拿到这个bean对象不用去初始化它。

  第二类是spring中数据库的一些知识:

  关键词解释:

  Hibernate是使用对象的方式访问数据库的一个第三方的类库,当然它是很有名的,在使用过程中我们只要配置一下实体类和数据库中表的关系的xml就可以把表和实体类建立一种联系。

DAO是我们自己定义在工程中要对数据库进行的操作。templete是spring里面实现的一个增删改查的工具。我们定义了一个DAO接口,并用一个类来实现这个DAO接口就是我们看到的daoimpl,而daoimpl可能会继承一个daosupport这样的东西,这个东西会帮我们生成好初始化并配置好templete这个工具。我们只要到时候调用这个工具就可以实现我们要做的东西了(DAO 里面定义的方法)

一句话概括:DaoImpl继承DaoSupport 并调用template来实现DAO中的数据业务。

template负责处理流水作业流程,包括异常捕获,数据库链接等很多相似的非业务逻辑的功能,DAO是处理查询与更新数据库的类,而daoSupport则是对DAO的一层封装,不同的DAOsupport有不同的功能有的只是提供一个template这样的模版供你来模版上进行数据库的操作,有些则是不仅提供了模版还提供了orm如hibernate的daosupport.所以dao是继承daosupport来使用的.

参考:https://www.mkyong.com/spring/maven-spring-hibernate-mysql-example/

我也写了按照上面写了一遍:http://download.csdn.net/detail/zrical/9735801在这个链接可以下载

要运行的前提

1、你创建了一个mysql的本地数据库,并在其中创建一个表:

CREATE TABLE  `mkyong`.`stock` (
  `STOCK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `STOCK_CODE` varchar(10) NOT NULL,
  `STOCK_NAME` varchar(20) NOT NULL,
  PRIMARY KEY (`STOCK_ID`) USING BTREE,
  UNIQUE KEY `UNI_STOCK_NAME` (`STOCK_NAME`),
  UNIQUE KEY `UNI_STOCK_ID` (`STOCK_CODE`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

2、更改xml中关于数据库连接的配置,更改数据库名和表名为你创建的数据库和表。更改你的mysql登录密码.

3、你的mysql要 start起来

然后差不多就可以run了.